Назад | Перейти на главную страницу

Ящик Gentoo не может cURL или ping после перезапуска net.eth1

следующее меня полностью сбивает с толку. В настоящее время у нас есть gentoo box, который действует как наш LAMP, DNS, DHCP сервер. В сети ему назначается статический IP-адрес. Этот сервер подключен непосредственно к Интернету через маршрутизатор BT BusinessHub. Сервер также подключен к патч-панели / порту коммутатора, который соединяет оставшийся офис (около 10 ПК) с сервером.

Все шло гладко до тех пор, пока сервер не был перезапущен. По какой-то причине теперь доступна только часть доступа к сети в зависимости от того, какое устройство Ethernet было перезапущено в последний раз. Перезапуск net.eth0 позволяет офисному серверу выполнять cURL, ping и т. Д., Но блокирует доступ к Интернету всех подключенных к сети ПК. Затем перезапуск net.eth1 восстанавливает весь Интернет в сети, но снова останавливает сервер от скручивания, пинга и т. Д.

Однако, даже когда сервер не может выполнить ping, curl и т. Д., Я все равно могу удаленно подключаться по SSH и MySQL из командной строки к другим внешним серверам, которыми мы владеем.

Вот моя карта маршрутов (маршрутизатор 192.168.1.254):

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth1

Вот мой /etc/conf.d/net:

iface_eth0="192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0"
iface_eth1="dhcp"

Однако ничего из вышеперечисленного никогда не менялось. Все просто перестало работать правильно, что заставляет меня думать, что это недавно добавленное правило Iptables. Вот таблица фильтров Iptables:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       tcp  --  ##.##.##.##          anywhere            tcp dpt:ssh
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:2199
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:3199
ACCEPT     tcp  --  ##.###.###.##        anywhere            tcp dpt:http
ACCEPT     tcp  --  ###.###.##.##        anywhere            tcp dpt:2199
ACCEPT     tcp  --  ##.###.###.###       anywhere            tcp dpt:http
ACCEPT     tcp  --  ##.###.##.##         anywhere            tcp dpt:http
ACCEPT     tcp  --  ##.###.###.###       anywhere            tcp dpt:3128
ACCEPT     udp  --  ##.###.###.###       anywhere            udp dpt:3128
ACCEPT     tcp  --  ##.###.###.###       anywhere            tcp dpt:http
ACCEPT     tcp  --  ##.###.###.###       anywhere            tcp dpt:https
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             ##.###.###.##
DROP       all  --  anywhere             ##.###.###.##
ACCEPT     all  --  anywhere             anywhere            state NEW,ESTABLISHED
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     udp  --  anywhere             anywhere            udp spt:2199
ACCEPT     udp  --  anywhere             anywhere            udp spt:4817
ACCEPT     udp  --  anywhere             anywhere            udp spt:4819
ACCEPT     udp  --  anywhere             anywhere            udp spt:3199

Помощь с благодарностью.

Вы понимаете, что у вас эффективно настроены eth0 и eth1 для одной и той же подсети?

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

iface_eth0="192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0"
iface_eth1="dhcp"

Измените подсеть на вашем маршрутизаторе на 192.168.0.0/24 или другую подсеть, кроме 192.168.1.0/24, перезапустите eth1, и это должно исправить. Если два интерфейса действительно не находятся в одной сети - а это не так - их не следует настраивать для одной и той же подсети.

Кроме того, весь трафик проходит через ваш сервер, чтобы добраться до маршрутизатора?

Если это так, я рекомендую просто включить мост на вашем маршрутизаторе, чтобы дать вашему серверу общедоступный IP-адрес. Видеть: http://business.forums.bt.com/t5/Broadband-and-internet/How-to-set-up-bridge-mode-on-the-BT-business-hub/td-p/4902 - это позволит полностью избежать проблемы, хотя, поскольку я не знаком с вашим маршрутизатором, вы можете этого избежать; они называют это мостом, похоже, это может быть сквозная передача, где он все еще выполняет аутентификацию (выполняет ли BT аутентификацию PPPoE / PPPoA?), но передает информацию DHCP.

Установка двух подсетей с NAT - пустая трата времени, если вы не используете / не нуждаетесь.

Судя по звукам, похоже, что ваши интерфейсы настроены так, чтобы не разрешать пересылку по умолчанию, поэтому при перезапуске интерфейса он останавливает пересылку, показывая тип проблемы, с которой вы столкнулись.

Попробуйте добавить это в свой /etc/sysctl.conf

Добавьте / раскомментируйте следующие строки:

net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1

Если у вас есть динамический интернет-адрес, вы, вероятно, захотите включить это:

net.ipv4.ip_dynaddr = 1

Это должно решить вашу проблему