У меня 2 аккаунта dsl. Один из них для общего использования, который настроен на моем маршрутизаторе, а второй - на сервере. Мой маршрутизатор хорошо защищен, но после настройки PPPoe на моем сервере я заметил, что безопасность маршрутизатора полностью игнорируется, и все порты на моем сервере по существу открыты для всего мира.
Итак, я попробовал заблокировать все соединения по PPP.
iptables -A INPUT -i ppp0 -p tcp -j DROP
iptables -I INPUT -i ppp0 -p tcp --dport 563 -j ACCEPT
Но теперь я не могу подключиться к порту 563 или от него.
Я подозреваю, что я в корне неправильно понимаю, как работают iptables.
Вам нужно установить несколько правил по умолчанию, а затем политику для остальных. Это хорошая отправная точка:
iptables -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT --match comment --comment "Accept traffic from outgoing connections and stuff like FTP."
iptables -A INPUT -p icmp -j ACCEPT --match comment --comment "Allow ping"
iptables -A INPUT -p tcp --dport 22 -j ACCEPT --match comment --comment "Allow SSH"
iptables -A INPUT --in-interface lo -j ACCEPT --match comment --comment "Allow everything on the localhost"
iptables -P INPUT DROP
Затем вы можете добавить свое правило:
iptables -A INPUT -i ppp0 -p tcp --dport 563 -j ACCEPT
Порядок имеет значение! Вы не выберете неправильный маршрут, но вам нужно изменить порядок. Сначала поставьте ПРИНЯТЬ, затем ОТКАЗАТЬ, и все будет в порядке.