4

У меня есть сервер с несколькими интерфейсами (IP). Я хотел бы заблокировать все порты на одном из IP-адресов (я не хочу ничего менять для других IP-адресов / интерфейсов), но разрешить исходящие соединения с него. Например, должна быть возможность запустить IRC-клиент с него, но не должно быть возможности просто подключиться к нему извне (я буду подключаться с белого IP-адреса).

Вот что я получил до сих пор:

Chain INPUT (policy ACCEPT)
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
DROP       all  --  0.0.0.0/0            IP

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

Но эти правила не работают. Даже когда я инициирую соединение с этого IP, удаленный сервер не может подключиться обратно, несмотря на то, что я разрешаю RELATED/ESTABLISHED соединения. В чем дело?

2 ответа2

2

Прежде всего, политика по умолчанию для OUTPUT Chain - ACCEPT, поэтому последняя строка:

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

не обязательно

Тогда первая строка:

ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

тоже избыточен, потому что по умолчанию для INPUT используется политика ACCEPT.

Попробуйте использовать только эти два правила и посмотрите, поможет ли это:

iptables -A INPUT -d IP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -d IP -j DROP
0

У вас есть проблемы с IRC-соединениями? Сервер IRC, к которому вы пытаетесь подключиться, может потребовать от вас запустить сервер ident . Большинство клиентов IRC являются поддельными. Попробуйте разрешить входящие соединения через порт 113 и посмотрите, улучшится ли он.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .