
У меня есть маршрутизатор/шлюз с несколькими сетевыми картами, настроенными для нескольких локальных сетей. Ниже я привел краткое описание схемы.
LAN1
192.168.15.1
255.255.255.0
Я использую LAN1 для локальной сети, никаких ограничений, просто простая локальная сеть для всех моих домашних устройств.
LAN2
10.15.0.1
255.255.255.240
LAN2 Используется для интернет-сервисов, например, игровых серверов.
У меня есть сервер Ubuntu 14 с несколькими сетевыми картами, и вот тут-то и начинается проблема.
NIC1 подключен к LAN1 Статическая конфигурация
192.168.15.254
255.255.255.0
NIC2 подключен к LAN2 Статическая конфигурация
10.15.0.2
255.255.255.240
Конфигурация моего интерфейса
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto p2p4
iface p2p4 inet static
address 10.15.0.2
netmask 255.255.255.240
network 10.15.0.0
broadcast 10.15.0.15
gateway 10.15.0.1
#HOME.LAN
auto p2p3
iface p2p3 inet static
address 192.168.15.254
netmask 255.255.255.0
network 192.168.15.0
broadcast 192.168.15.225
Таблица маршрутизации систем
Таблица маршрутизации IP ядра
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.15.0.1 0.0.0.0 UG 0 0 0 p2p4
10.15.0.0 0.0.0.0 255.255.255.240 U 0 0 0 p2p4
192.168.15.0 0.0.0.0 255.255.255.0 U 0 0 0 p2p3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Если у меня настроена только одна сетевая карта, скажем, NIC2, я могу выполнить команду ping с моего компьютера с Windows, подключенного к LAN1, и получить доступ к службам на ней, скажем, к игровым серверам.
Если я включу обе сетевые карты на сервере Ubuntu, я больше не смогу пинговать NIC2, но смогу пинговать NIC1 из системы Windows.
Это также работает и в обратную сторону: если подключена только LAN1, к ней можно получить доступ с клиента в LAN2 и LAN1, но не тогда, когда активны обе сетевые карты.
Когда я подключаю свой ноутбук Ubuntu к LAN2, то же самое происходит и с этой сетью. Я могу пинговать NIC2, но не NIC1, а если подключен только NIC1, я могу пинговать NIC1.
Затем я подключил свой ноутбук к обеим сетям, и это показало тот же результат. Машина с Windows могла пинговать только подключение ноутбука к LAN1, а машина с Ubuntu, на которой в это время была настроена только NIC2, могла пинговать ноутбук только по его подключению LAN2.
Когда обе сетевые карты настроены на сервере Ubuntu, я больше не могу получить доступ к его службам через LAN2, однако они по-прежнему доступны только для Интернета и систем, подключенных к LAN2.
Я думаю, что это может быть проблема маршрутизации, и нашел много информации о настройке маршрута также и из определенных сетей, и сетевые карты по умолчанию сказали, что это сетевой трафик. Я перепробовал много решений, и ни одно из них не внесло никаких изменений в поведение моей сети.
У меня также есть NAS, подключенный к этим сетям через две сетевые карты, и его может пропинговать любой клиент в любой локальной сети.
Если кто-нибудь сможет указать мне правильное направление или пролить свет на этот вопрос, я буду признателен.
решение1
Вы нигде не упомянули о включении ip_forward
...
Как сделать IP-переадресацию постоянной?
Кроме того, этот метод настройки шлюза ужасно небезопасен и подвержен проблемам, которые трудно предвидеть. Вы рассматривали возможность использования инструмента вроде Shorewall для настройки маршрутизации и iptables? Вот довольно солидное руководство, которое поможет вам начать: