我这样配置了我的 iptables:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:ssh
ACCEPT all -- anywhere anywhere //(this is loopback)
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
据我所知,浏览器应该可以正常工作,因为浏览器开始浏览 OUTPUT,它正在接受所有内容,但它不起作用。我哪里犯了错误?
我的第二个问题是,当我添加环回规则(iptables -A INPUT -i lo -j ACCEPT
)时,它在视觉上看起来像一条接受来自任何地方的流量而不仅仅是环回的通用规则,这非常令人困惑,如果我不知道它是环回规则,有什么方法可以判断它是环回规则吗?
谢谢。
答案1
完整的 iptables1 规则将是
删除当前规则和链iptables
sudo iptables --flush
sudo iptables --delete-chain
允许环回
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
允许已建立的连接
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
允许SSH
或一些不同的TCP
端口
sudo iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
允许UDP
端口22
sudo iptables -A INPUT -m state --state NEW -p udp --dport 22 -j ACCEPT
默认策略
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
节省
sudo iptables-save
就是这样了。我想:)