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


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

Автор Тема: Как раздать инет, если 3 сетевухи (ДХСП сервер + 2 ДХСП клиента)?  (Прочитано 1407 раз)

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

Оффлайн SkyFox

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
Ситуация:

> cat interfaces
auto lo eth0 eth2 eth3

iface lo inet loopback

iface eth2 inet static
   address 192.168.0.1
   netmask 255.255.255.0
   network 192.168.0.0
   broadcast 192.168.0.255

iface eth3 inet dhcp

iface eth0 inet dhcp

> ifconfig
eth0      Link encap:Ethernet  HWaddr 00:02:B3:1D:4C:8B 
          inet addr:10.3.0.25  Bcast:10.3.0.255  Mask:255.255.255.0
          inet6 addr: fe80::202:b3ff:fe1d:4c8b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:143939 errors:0 dropped:0 overruns:0 frame:0
          TX packets:435124 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9323511 (8.8 MB)  TX bytes:100429723 (95.7 MB)

eth2      Link encap:Ethernet  HWaddr 00:03:47:E3:7E:32 
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::203:47ff:fee3:7e32/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3469 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3642 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:338584 (330.6 KB)  TX bytes:1247666 (1.1 MB)

eth3      Link encap:Ethernet  HWaddr 00:03:47:E3:7C:E8 
          inet addr:10.10.101.173  Bcast:10.10.101.255  Mask:255.255.254.0
          inet6 addr: fe80::203:47ff:fee3:7ce8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14373 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1341000 (1.2 MB)  TX bytes:4670 (4.5 KB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

> route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth2
localnet        *               255.255.255.0   U     0      0        0 eth0
10.10.100.0     *               255.255.254.0   U     0      0        0 eth3
default         10.10.100.1     0.0.0.0         UG    100    0        0 eth3
default         10.3.0.1        0.0.0.0         UG    100    0        0 eth0

Задача:
Интернет, получаемый с eth0, выдать в eth2.

Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн SkyFox

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
Я так понял, что проблема в:
default         10.10.100.1     0.0.0.0         UG    100    0        0 eth3
default         10.3.0.1        0.0.0.0         UG    100    0        0 eth0

Отключаю eth3, далее reboot.
Результат - инет раздаёт.
> cat resolv.conf
search area16.sumy.ua
nameserver 194.146.228.52 <<<< это адрес сервера ДНС, получаемый от eth0.

Включаю eth3, далее reboot.
> cat resolv.conf
search net.sumy.ua
nameserver 10.10.100.6
nameserver 10.10.100.2

Как видно, сервер ДНС полностью меняется, поэтому УВУНТУ и сам не получает, и соотв. никому не раздаёт.
Нашел статью Iptables Tutorial 1.1.19 Автор: Oskar Andreasson. Там есть пример 8.4. rc.DHCP.firewall.txt.
Но там стандартный случай с 2 сетевыми. А мне надо три. И очень хочется, чтоб присутсвовавли оба сервера ДНС из обеих подсетей. Как сделать так, чтоб resolv.conf имел вид:
  search area16.sumy.ua
  search net.sumy.ua
  nameserver 194.146.228.52
  nameserver 10.10.100.6
  nameserver 10.10.100.2
???
Ручками править resolv.conf и запрещать изменения на него - мне кажется не кошерным.
Мож всё таки, что-то накрутить в rc.DHCP.firewall.txt???? А куда его приткнуть потом? И под каким именем??
Подскажите ПЛИЗЗЗЗЗЗЗ..... :-[
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн stassats

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Я так понял, что проблема в:
default         10.10.100.1     0.0.0.0         UG    100    0        0 eth3
default         10.3.0.1        0.0.0.0         UG    100    0        0 eth0

У тебя два маршрута по умолчанию , даже если dns серверы нормально пропишешь,все равно сервер будет тупить.Оставь только eth0 маршрутом по умолчанию.
Добавь в /etc/dhcp3/dhclient.conf строчку :
supersede domain-name-servers 194.146.228.52, 10.10.100.6, 10.10.100.2;


Оффлайн SkyFox

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля

У тебя два маршрута по умолчанию , даже если dns серверы нормально пропишешь,все равно сервер будет тупить.Оставь только eth0 маршрутом по умолчанию.
Добавь в /etc/dhcp3/dhclient.conf строчку :
supersede domain-name-servers 194.146.228.52, 10.10.100.6, 10.10.100.2;


Как удалить и где?  Оба адреса ДНС получены по ДХСП.
Я показал результат команды:
> route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth2
localnet        *               255.255.255.0   U     0      0        0 eth0
10.10.100.0     *               255.255.254.0   U     0      0        0 eth3
default         10.10.100.1     0.0.0.0         UG    100    0        0 eth3
default         10.3.0.1        0.0.0.0         UG    100    0        0 eth0


Изменить /etc/dhcp3/dhclient.conf конечно могу, но хотелось бы сделать "по-уму". Уж если получать всё по ДХСП, то пусть всё само и прописывается.
Или смотреть в сторону поднятия своего сервера ДН, и в него уж - результаты внешних?
Хотелось бы всё сделать "красиво", с Убунтой я ещё пока на "Вы" и через месяц точно не вспомню то, что ручками вводил сейчас.
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн stassats

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
А ты не прописывал правил для iptables ?
В принципе можно так :

route del default gw 10.10.100.1 eth3
route add 10.10.100.0 netmask 255.255.254.0 gw 10.10.100.1

Интересно,где у тебя это указывается...
Возможно в /etc/ppp/options , или есть файлы вида /etc/ppp/options.ttyXX ?
связка
defaulroute
replace defaultroute
должна быть.


Мне с моими ppp соединениями тяжеловато разобраться

Оффлайн SkyFox

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
Прописан для варианта наличия 2 сетевых. Всё бегает.
При включенных 3 сетевых нету входного инета даже на сервере.
route del default gw 10.10.100.1 eth3 помогает до перезагрузки сервера. Далее - снова 2 дефаултных шлюза.
В /etc/ppp/options нету связки.
В папке /etc вообще нет никакого файла, содержащего defaulroute.
iptables.up.rules
# Generated by iptables-save v1.3.6 on Sun May 11 20:04:54 2008
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Sun May 11 20:04:54 2008
# Generated by iptables-save v1.3.6 on Sun May 11 20:04:54 2008
*mangle
:PREROUTING ACCEPT [351:35200]
:INPUT ACCEPT [350:34967]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [133:59582]
:POSTROUTING ACCEPT [135:60077]
COMMIT
# Completed on Sun May 11 20:04:54 2008
# Generated by iptables-save v1.3.6 on Sun May 11 20:04:54 2008
*filter
:FORWARD ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_IN:
-A FORWARD -o eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_OUT:
-A OUTPUT -o eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_OUT:
-A INPUT -i eth0 -j LOG  --log-level 7 --log-prefix BANDWIDTH_IN:
COMMIT
# Completed on Sun May 11 20:04:54 2008

Направьте меня в нужную сорону плз.
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн stassats

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
У меня сделан роутинг так :

iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o ppp1 -s 192.168.0.0/24 -j MASQUERADE

По аналогии тебе надо заменить ppp0 и  ppp1 на eth0 и eth3
Но все равно непонятно как два шлюза по умолчанию получаются.

Правила у тебя вроде правильные,а в  /etc/ppp  нет файлов за поднятие интерфейсов отвечающих ?
У меня по умолчанию назывался dsl-provider

Вот пару статеек нашел,в первой файлики описываются с настройками для выделенки,во второй пример (мутноватый , на мой взгляд...)

http://home.eltel.net/forum/index.cfm?page=userinfo&viewuserid=1366
http://www.linuxcenter.ru/lib/articles/networking/linux_link_balance.phtml

Надеюсь поможет...

Оффлайн AazForever

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
сначало отключи поднятье Шлюзов (default route) В DHCP

Файл /etc/dhcp3/dhclient.conf

В строке request Убери routers, за одно убери Автоматическое присвоение DNS серверов.
Ну и ещо за одно всякого ненужного  ;)
В итоге оставь:

request subnet-mask, broadcast-address, time-offset;

Потом в автозагрузку пропиши вышепредложенную строку:

route add 10.10.100.0 netmask 255.255.254.0 gw 10.10.100.1

Все инет должен быть ОК.

В /etc/resolv.conf припиши все днс серверы.
DHCP небудет туда лазить.
А вобще поставь себе bind9, свой DNS сервер ближе ).


Оффлайн SkyFox

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
А можно ли указать :
чтоб с eth3 брать только request subnet-mask, broadcast-address, time-offset;
а с eth0 брать всё
?
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн AazForever

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Несовсем.
request прописываеться один для всех.
Но можно поставить хук и отлавливать.
Такого сам неделал, не приходилось.
Если у тебя шлюз статический то лучше непарся с хуками.
Если динамический тогда, нужно эсперементировать.
Вот статья от нее отталкиваясь копай тогда.
http://www.debian-administration.org/articles/471

Оффлайн SkyFox

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
  • default TRUE=FALSE
    • Просмотр профиля
Везьде описаны варианты с сеть1 + сеть2. При чём ДХСП клиент только один. :'(
Встречается ППоЕ, но инет берётся у того же провайдера, поэтому и конфликтов нету.
Неужели никто не подключался сразу к двум провайдерам ( инет дают по лану ) ???
Но мне надо брать инет только у одного, а у второго локальные ресурсы.
сначало отключи поднятье Шлюзов (default route) В DHCP

Файл /etc/dhcp3/dhclient.conf

В строке request Убери routers, за одно убери Автоматическое присвоение DNS серверов.
Ну и ещо за одно всякого ненужного  ;)
В итоге оставь:

request subnet-mask, broadcast-address, time-offset;

Потом в автозагрузку пропиши вышепредложенную строку:

route add 10.10.100.0 netmask 255.255.254.0 gw 10.10.100.1

Все инет должен быть ОК.

В /etc/resolv.conf припиши все днс серверы.
DHCP небудет туда лазить.
А вобще поставь себе bind9, свой DNS сервер ближе ).


Файл /etc/dhcp3/dhclient.conf
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset;
timeout 30;


Не вкурил, что значит первая строка.
Команда > route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth2
localnet        *               255.255.255.0   U     0      0        0 eth0
10.10.100.0     *               255.255.254.0   U     0      0        0 eth3

Куда теперь в автозагрузку прописать route add ..........?
Имя - Йцукен
Фамилия - Фывапролджэ
Профессия - настройщик клавиатуры.

Оффлайн AazForever

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
У меногих есть по несколько сетей.
Но конфигурация два dhcp клиента провайдера менее распространена.
С ПППОЕ легче там для каждого подключения отдельно настраиваются все параметры,
плюс есть стандартные скрипты поднятия интерфейса, и туда можно прописывать свои коды.
Что в совокупности обеспечивает возможность быстрого создания самых извращенных настроек.

С DHCP более неудобно, для одного подключения легко все настроить а вот 2 подключения уже сложнее.

Первая строка означает что серверу посылаеться имя твоего клиента прописаного в этой строке.
Параметр необязятелен, закоментируй.

В Ubuntu Linux существует скрипт /etc/init.d/rc.local, который при загрузке системы стартует последним и запускает все команды, указанные в файле /etc/rc.local.
Следовательно открываем файл /etc/rc.local (от рута) и записывает туда все команды автозагрузки:
#-------------------------/etc/rc.local/----------------------------------------------
#Поднятие шлюза по умолчанию
route add 10.10.100.0 netmask 255.255.254.0 gw 10.10.100.1
exit 0
#-----------------------------------------------------------------------------------------

 

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