
У меня система CentOS 7 с двумя сетевыми картами (eth0 и eth1).
Конфигурации сетевых карт:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.43.96.210 netmask 255.255.255.192 broadcast 10.43.96.255
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 146.81.34.150 netmask 255.255.255.128 broadcast 146.81.34.255
Моя текущая таблица маршрутизации:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.43.96.193 0.0.0.0 UG 100 0 0 eth0
10.43.96.192 0.0.0.0 255.255.255.192 U 100 0 0 eth0
146.81.34.0 0.0.0.0 255.255.255.128 U 0 0 0 eth1
146.81.34.128 146.81.34.254 255.255.255.128 UG 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
Сетевая карта eth0 подключена к сети 10.43.96.x, а шлюз по умолчанию (10.43.96.193) используется для исходящих подключений к общедоступному Интернету с компьютеров в сети 10.43.96.x.
Сетевая карта eth1 подключена к сети 146.81.34.128/25 (IP-адрес сетевой карты 146.81.34.150, маска сети 255.255.255.128, шлюз 146.81.34.254, эти параметры определяются заказчиком) и ей необходим доступ к серверу по IP-адресу 146.81.34.11.
Другие серверы из сети 146.81.0.0/16 должны связаться с моим сервером (146.81.34.150) с помощью ping (через шлюз 146.81.34.254). Например, серверу 146.81.23.95 нужно пинговать мой сервер. Я не знаю больше о подробностях конфигурации сети и маршрутизации в этой сети, мне сказали использовать их шлюз 146.81.34.254.
Текущая проблема:
Клиент говорит, что другие серверы из сети 146.81.0.0/16 (146.81.xx) могут корректно подключаться к сети 146.81.34.128/25 (и, таким образом, могут подключаться к моему серверу в 146.81.34.150 с помощью ping). Это нормально.
Однако другие серверы в сети 146.81.0.0/16 теперь пытаются получить доступ к другим IP-адресам (в сетях, отличных от 146.81.34.128/25) через мой сервер, используя мой шлюз по умолчанию (10.43.96.193), что следует предотвратить.
Вопрос:
Как мне запретить пересылку соединений через этот сервер с серверов в сети 146.81.0.0/16? Они не должны использовать шлюз по умолчанию (10.43.96.193) на моем сервере.
решение1
Как предотвратить перенаправление соединений через этот сервер с серверов в сети 146.81.0.0/16?
Самый простой вариант —полностьюотключить переадресацию IP через sysctl:
net.ipv4.conf.all.forwarding=0
net.ipv6.conf.all.forwarding=0
Еслинекоторыйнекоторые виды трафика должны перенаправляться через сервер, а некоторые — нет, используйте брандмауэр — просто добавьте правила, принимающие нужный трафик и отклоняющие (или сбрасывающие) остальной.
- В iptables есть
FORWARD
цепочка именно для этой цели. - у nft тоже есть
forward
крючок.