Невозможно использовать два сетевых интерфейса одновременно

У меня проблема. Прежде всего, я хочу настроить сервер на Ubuntu 14.04. У меня есть 2 интерфейса: eth0 для сервера DHCP и eth1 для подключения к интернету. Но если я подключусь к двум сетям одновременно, на ПК не будет интернета. Поэтому мне приходится выбирать между сервером и интернетом. Это ужасно, может кто-нибудь сказать мне, как закрыть эту проблему?

/ etc / network / interfaces:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
broadcast 172.16.1.255
gateway 172.16.1.254

sudo route выводит:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     1      0        0 eth1

UPD: Выводы ifconfig:

eth0      Link encap:Ethernet  HWaddr 90:e6:ba:46:1d:50  
          inet6 addr: fe80::92e6:baff:fe46:1d50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1110 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:184287 (184.2 KB)

eth1      Link encap:Ethernet  HWaddr 00:04:75:98:5f:da  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::204:75ff:fe98:5fda/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14498 errors:0 dropped:0 overruns:2 frame:0
          TX packets:13096 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9710708 (9.7 MB)  TX bytes:1840400 (1.8 MB)
          Interrupt:18 Base address:0x4c00 

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:65536  Metric:1
          RX packets:4398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:527890 (527.8 KB)  TX bytes:527890 (527.8 KB)
9
задан 10 June 2014 в 16:38

3 ответа

Конфигурирование вывода ifconfig и комментарии, данные моему первому ответу, я думаю, что проблема связана со способом, в котором Вы настраиваете свой NIC /etc/network/interfaces.

Поскольку у Вас нет определенной конфигурации для eth1 в /etc/network/interfaces, Я предполагаю, что Ваш модем дает Вашему серверу информацию о IP через DHCP. Согласно route ouput, Вы получаете свой шлюз по умолчанию, указывающий на модем так к Интернету.

Но на Вашем /etc/network/interfaces файл для eth0 у Вас есть также настроенный шлюз по умолчанию (оператор gateway 172.16.1.254).

У Вас не может быть двух шлюзов по умолчанию в системе. Присвоение шлюза по умолчанию на eth1 отключает статическую конфигурацию eth0, причина, почему нет никакого IP для eth0 в ifconfig вывод и почему Интернет не работает и внутренняя сеть больше.

Необходимо будет удалить строку gateway 172.16.1.254 и попробуйте еще раз.

Таким образом, конечно, если у Вас есть больше чем одна подсеть на внутренней LAN, Вы не сможете достигнуть их больше. Если Вы не настраиваете статический маршрут ко всем этим подсетям на Вашем сервере:

маршрут sudo добавляет - сетевой A.B.C.D gw 172.16.1.254

можно добавить route команда в сценарии, сохраненном под /etc/network/if-up.d чтобы быть выполненным каждый раз, интерфейс повышается.

4
ответ дан 10 June 2014 в 16:38

Из того, что я понимаю Вашего сообщения, Вы соединяетесь с Интернетом через eth1 и с Вашей внутренней сетью через eth0. И Ваш сервер затем играет роль сервера DHCP и шлюза по умолчанию для Вашего ПК для движения Интернета.

Во-первых, на ПК, проверьте, что они получили правильно все настройки DHCP, включая шлюз. От Вашего вопроса я предполагаю, что это должно быть 172.16.1.100

Во-вторых, убедитесь, что Ваш eth1 хорошо подключен к Интернету и хорошо настроен; это, очевидно, в зависимости от Вашего ISP.

Наконец, самая важная операция, необходимо будет включить передачу IP между двумя интерфейсами на сервере. Без этого пакет не будет направлен между Вашим ПК и Интернет:

Ручная установка:

sudo отзываются эхом 1>/proc/sys/net/ipv4/ip_forward

Чтобы иметь IP вперед, флаг автоматически устанавливает во время начальной загрузки, не комментирует строка #net.ipv4.ip_forward=1 в /etc/sysctl.conf

Необходимо будет также удостовериться, что нет никаких правил брандмауэра IPtables того блока трафик. Сделайте:

iptables-L-n

получить список правил если таковые имеются. Я сначала попробовал бы эту установку всеми отключенными правилами брандмауэра:

iptables-F

3
ответ дан 10 June 2014 в 16:38

У меня была подобная проблема, но мой файл интерфейсов был пуст как это:

# The loopback network interface
auto lo
iface lo inet loopback

Мне удалось устранить проблему путем перемещения/удаления найденного файла Проводного соединения: /etc/NetworkManager/system-connections/Wired connection 1

После перезагрузки, смог соединиться с обеими сетями.

2
ответ дан 23 November 2019 в 05:04

Другие вопросы по тегам:

Похожие вопросы: