阻止昂贵链接上的大部分流量

阻止昂贵链接上的大部分流量

我正在使用两个 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

我确信iptables使用了“首次匹配”标准。重新排列规则,以便例外情况优先出现。

相关内容