我正在尝试使用 iptables 设置状态防火墙。它供我的台式机使用。
以下是我的防火墙脚本的内容:
#!/bin/bash
iptables-save > /home/username/iptables.save
iptables -A INPUT -m conntrack -j DROP --ctstate INVALID
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -p UDP -m tcp -m conntrack -s a.b.c.d -i eth0 --sport 1275 -j ACCEPT --ctstate ESTABLISHED
iptables -A OUTPUT -p UDP -m tcp -m conntrack -d a.b.c.d -o eth0 --dport 1275 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A INPUT -i eth0 -j DROP
iptables -A OUTPUT -o eth0 -j REJECT
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 80 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 443 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p udp -m udp -m conntrack -o tun0 --dport 53 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A OUTPUT -p tcp -m tcp -m conntrack -o tun0 --dport 53 -j ACCEPT --ctstate NEW,ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 80 -j ACCEPT --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 443 -j ACCEPT --ctstate ESTABLISHED
iptables -A INPUT -p udp -m udp -m conntrack -i tun0 --sport 53 -j ACCEPT --ctstate ESTABLISHED
iptables -A INPUT -p tcp -m tcp -m conntrack -i tun0 --sport 53 -j ACCEPT --ctstate ESTABLISHED
iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -A FORWARD -j DROP
当我使用端口 1275 和 UDP 协议连接到 IP 地址为 abcd 的 VPN 服务器后,我启动了上述防火墙。(我不使用 NetworkManager)
立即弹出一条错误消息,指出
write UDPv4: Operation not permitted (code=1)
发生了什么事?
我该如何修复此问题?
PS:请随意改进我的 iptables 规则。