说实话,我是 iptables 的新手。我有一些基本规则。默认情况下,所有内容都被阻止。
iptables -t filter -F
iptables -t filter -X
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
...some rules for http, ftp etc...
iptables -t filter -A OUTPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
使用最后两行,我尝试打开 ssh 访问权限,以便可以连接到 bitbucket。当我尝试连接到 bitbucket 时:
ssh -Tv [email protected]
我收到错误 - 连接超时。但是当我禁用 iptables 时,我可以毫无问题地连接。
我遗漏了什么?我应该添加其他规则吗?
答案1
实际上我写的东西运行得很好。我的错误是,我有一个脚本文件设置了我所有的规则,所以我可以立即重置它。我忘了在重启之前保存 iptables(捂脸)
iptables-save | sudo tee /etc/sysconfig/iptables
永远记住!重启前保存你的 iptables 配置!