我正在为我的笔记本电脑设置基本的防火墙规则,但似乎无法获取 HTTP 和 HTTPS,因此无法使用 Web 浏览器来工作。
我现在的规则是这样的
# 1. Delete all existing rules
iptables -F
# 2. Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# 3. Allow outgoing SSH for Ethernet(enp12s0) and Wlan(wlp6s0)
iptables -A INPUT -i wlp6s0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i enp12s0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o wlp6s0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o enp12s0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
# 4. Allow HTTP and HTTPS
iptables -A OUTPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -o wlp6s0 -p tcp -m multiport --dports 80,443
iptables -A OUTPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -o enp12s0 -p tcp -m multiport --dports 80,443
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -i wlp6s0 -p tcp -m multiport --sports 80,443
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -i enp12s0 -p tcp -m multiport --sports 80,443
我如何允许 HTTP 和 HTTPS 流量以便可以再次使用我的浏览器?
答案1
通过菩提禅评论我找到了解决方案。
环境
iptables -A OUTPUT -m state --state NEW -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
并允许从先前与 eiter 建立的连接输入
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
或者
iptables -A INPUT -m state --state ESTABLISHED -p udp --sport 53 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -p tcp --sport 53 -j ACCEPT
解决了这个问题。