Я бегу с двумя ссылками WAN. Новый дорогой, и я хочу использовать его только для ssh. Новая ссылка на eth1, 192.168.8.1.

Я пытаюсь использовать таблицы ip для блокировки всех входящих и исходящих соединений, кроме ssh и трафика на 192.168.8.1.

Всякий раз, когда я применяю свои iprules, я больше не могу подключиться к маршрутизатору и прекращаю получать SSH-соединения. У меня где-то должна быть ошибка в моих правилах. Может ли кто-нибудь помочь мне найти его?

# Prevent all traffic on eth1
iptables -A INPUT -i eth1 -j DROP
iptables -A OUTPUT -o eth1 -j DROP

# But make an exception for incoming SSH
iptables -A INPUT -i eth1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# ...and an exception for outgoing SSH
iptables -A OUTPUT -o eth1 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

# ...and an exception for any communication with the router
iptables -A INPUT -i eth1 -p tcp -d 192.168.8.1 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 -p tcp -d 192.168.8.1 -m state --state ESTABLISHED -j ACCEPT

Любая помощь будет оценена.

Спасибо!

1 ответ1

0

Я уверен, что iptables использует критерии "первого совпадения". Измените ваши правила так, чтобы исключения были на первом месте.

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