Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: ubuntu + windows = общий интернет  (Прочитано 2688 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
ubuntu + windows = общий интернет
« : 09 Ноября 2009, 10:50:36 »
Доброе время суток. На убунты(компьютер с которого я сейчас пишу) есть интернет. Нужно перекинуть интернет на второй комп, что бы он там тоже был, скажем так.
Купил вторую сетевую карту для этого компьютера. Интернет сюда приходит через DHCP. На втором компе одна сетевуха, и установлен windows.

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A PREROUTING -p tcp --dport 30000 -j DNAT --to-destination IP адрес30000
iptables -t filter -A FORWARD -p tcp -d IP адрес --dport 30000 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp --dport 10001 -j DNAT --to-destination IP адрес:3389
iptables -t filter -A FORWARD -p tcp -d IP адрес --dport 3389 -j ACCEPT

iptables -t nat -A PREROUTING -p tcp --dport 5900 -j DNAT --to-destination IP адрес:5900
iptables -t filter -A FORWARD -p tcp -d IP адрес --dport 5900 -j ACCEPT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Это я прописал на Ubuntu. Что сделать, что бы заработала сеть на винде?

Оффлайн Fair

  • Новичок
  • *
  • Сообщений: 6
  • Виндунакол
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #1 : 09 Ноября 2009, 11:44:17 »
в принципе достаточно:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
ppp0 интерфейс инета

А на венде ип шлюза указываешь ип твоей машины с Ubuntu
Изыди еретик

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #2 : 09 Ноября 2009, 13:23:45 »
т.е вместо ppp0 указать eth0 ?

Гарри Кашпировский

  • Гость
Re: ubuntu + windows = общий интернет
« Ответ #3 : 09 Ноября 2009, 13:34:57 »
т.е вместо ppp0 указать eth0 ?
У вас интернет на eth0 приходит? Тогда да все правильно.
Ну и конечно же вы, наверное в курсе, что на клиенте, в вашем случае, настройки сети выставляются вручную? :)

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #4 : 09 Ноября 2009, 13:59:11 »
Конечно. Выставил в ручную, в качестве шлюза указал свой IP адрес. Днсы вписал с сети, айпи как мне подсказали вписал любой. Не работает =\

Гарри Кашпировский

  • Гость
Re: ubuntu + windows = общий интернет
« Ответ #5 : 09 Ноября 2009, 14:05:07 »
как мне подсказали вписал любой. Не работает =\

Что значит любой? Выложите пожалуйста конфиги.
Сервер-шлюз
ifconfig;cat /etc/network/interfaces
На клиенте
ipconfig /all

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #6 : 09 Ноября 2009, 14:06:56 »
Выложите пожалуйста конфиги.
+
iptables -L -vnt nat
iptables -L -vn

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #7 : 09 Ноября 2009, 14:21:23 »
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
(Нажмите, чтобы показать/скрыть)
Клиент:
(Нажмите, чтобы показать/скрыть)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #8 : 09 Ноября 2009, 14:55:57 »
Не настроен ipv4 на eth1. Судя по пустому /etc/network/interfaces похоже, что всем рулит NetworkManager. Как его настраивать незнаю.

Хинты:

ifconfig eth1 192.168.0.1 netmask 255.255.255.0 up

# Нужно запретить маршрутизацию в неправильном направлении
iptables -P FORWARD DROP
iptables -I FORWARD -i eth1 -o eth0 -j ACCEPT

# ^^ вышеуказанное неправильно, накосячил впопыхах ^^
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT

На клиенте нужно настроить:
ip: 192.168.0.2
Шлюз: 192.168.0.1
dns: 77.106.112.5, 77.106.112.7


Пользователь решил продолжить мысль 09 Ноября 2009, 12:58:08:
Все эти действия будут работать до первой перезагрузки. В дальнейшем нужно будет это правильно заскриптовать. А сейчас пока так, чтобы потестить.
« Последнее редактирование: 09 Ноября 2009, 15:06:22 от Mam(O)n »

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #9 : 09 Ноября 2009, 15:00:25 »
Я не стопорюсь на network-manager'e, поэтому если есть что-то ещё, вполне могу принять
Не работает все равно.
Айпи указал 192.168.0.2
маска 255.255.255.255.0
шлюз 192.168.0.1
днсы 77.106.112.5
77.106.112.7
« Последнее редактирование: 09 Ноября 2009, 15:11:33 от PeoneEr »

Гарри Кашпировский

  • Гость
Re: ubuntu + windows = общий интернет
« Ответ #10 : 09 Ноября 2009, 15:21:07 »
Правила iptables не стоило даже показывать. Автор, обеспечьте для начала связь между Шлюзом и ПК с Windows, правильно настроив сетевые интерфейсы.
Для таких целей лучше всего использовать "серверные" утилиты для настроек. Про ifconfig уже сказали, добавлю что информация о сетевых интерфейсах, в Deb-based располагается в /etc/network/interfaces
Пример для вашей сети
Код: (/etc/network/interfaces) [Выделить]
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
Редактируется любым текстовым редактором с нужными правами (например через sudo)
И с теми же правами перезапускается сеть
sudo /etc/init.d/networking restartПравила iptables в этом случае не изменяются, в примере немного другие, это не должно Вас сбивать с толку :)
Код: (/etc/rc.local) [Выделить]
#!/bin/sh -e
echo 1 >/proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -j MASQUERADE
# это правило как раз NATит то что нужно и куда нужно :)
iptables -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# А это правило игнорирует большие пакеты отправленные с "домашней локалки"
# Помогает при комм. соединениях
exit 0
Далее. Мне не совсем понятно, чем Вы руководствовались, когда настраивали сетевую конфигурацию для Windows. Ведь ясно, что две сетвые карты физически не могут использовать один и тот же адрес!
В вашем случае настроки такие
Код: (Windows) [Выделить]
IP : 192.168.0.2
Маска: 255.255.255.0
Шлюз : 192.168.0.1
DNS: 77.106.112.5
Что в общем-то достигается прочтением любой толковой статьи, коих в поисковиках навалом.
« Последнее редактирование: 09 Ноября 2009, 15:30:30 от Гарри Кашпировский »

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #11 : 09 Ноября 2009, 15:32:11 »
На:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -j MASQUERADEРугается:
root@peoneer:~# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -j MASQUERADE
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).

Гарри Кашпировский

  • Гость
Re: ubuntu + windows = общий интернет
« Ответ #12 : 09 Ноября 2009, 15:37:21 »
Версия iptables какая?
Ваши правила остаются неизменными это
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEО чём я и сказал выше.

Оффлайн PeoneEr

  • Автор темы
  • Любитель
  • *
  • Сообщений: 91
  • О_О
    • Просмотр профиля
Re: ubuntu + windows = общий интернет
« Ответ #13 : 09 Ноября 2009, 15:41:30 »
root@peoneer:~# iptables --version
iptables v1.4.4
Странно...На пару минут интернет там заработал. Опять упал =\

Гарри Кашпировский

  • Гость
Re: ubuntu + windows = общий интернет
« Ответ #14 : 09 Ноября 2009, 15:46:29 »
Ругается:
root@peoneer:~# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d ! 192.168.0.0/24 -j MASQUERADE
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`).

Так попробуйте сделать так как он просит?
 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE

 

Страница сгенерирована за 0.021 секунд. Запросов: 19.