Я использую помидор Шибби на маршрутизаторе, и я пытаюсь установить некоторые конкретные правила, используя iptables, чтобы установить следующее:
У меня есть сервер, который работает на 192.168.1.2 (LAN) порт 2232. Каждый из локальной сети может получить к нему доступ. Я хочу убедиться, что сервер доступен порт 2232 ТОЛЬКО по 192.168.1.3
Я установил следующие правила iptables. Как я уже сказал, я использую помидор Шибби, и я установил эти правила в Администрирование-> Сценарии-> Брандмауэр:
iptables -A INPUT -p tcp --dport 2232 -s 192.168.1.3 -d 192.168.1.2 -j ACCEPT
iptables -A INPUT -p tcp --dport 2232 -d 192.168.1.2 -j DROP
Первое правило должно принимать мой клиентский IP: 192.168.1.3 для доступа к серверу, работающему на 192.168.1.2 порту 2232, а второе правило должно отбрасывать пакеты, отправленные другими IP-адресами.
Я перезагрузил маршрутизатор после того, как установил изменения, и я все еще могу получить доступ к своему серверу с других IP-адресов. Я проверил через ssh, были ли iptables на самом деле установлены веб-интерфейсом, и они сделали.
ОБНОВЛЕНИЕ: правила, показанные iptables -L
ОБНОВЛЕНИЕ 2: Ограничение доступа хорошо работает при создании правил, но похоже, что они применяются только к тому, что проходит через WAN. Это не работает с ограничениями внутри локальной сети.
ACCEPT tcp -- 192.168.1.3 192.168.1.2 tcp dpt:2232
DROP tcp -- anywhere 192.168.1.2 tcp dpt:2232
Я не уверен, нужно ли мне как-то инициировать правила, но я так не думаю.
Любые предложения приветствуются.