我有一个 ubuntu 22.04 LTS 服务器,它有一个运行 nodered 的容器暴露在端口 1880 上,我想用 iptables 重新连接。我的配置如下:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -p tcp --dport 1880 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 1880 -j ACCEPT
iptables -A FORWARD -p all -j DOCKER-USER
iptables -A FORWARD -p all -j DOCKER-ISOLATION-STAGE-1
iptables -A FORWARD -p all -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -p all -o docker0 -j DOCKER
iptables -A FORWARD -p all -i docker0 -o !docker0 -j ACCEPT
iptables -A FORWARD -p all -i docker0 -o docker0 -j ACCEPT
iptables -A DOCKER -p tcp -i !docker0 -o docker0 -d 192.168.50.124 --dport 1880 -j ACCEPT
iptables -A DOCKER-ISOLATION-STAGE-1 -p all -i docker0 -o !docker0 -j DOCKER-ISOLATION-STAGE-2
iptables -A DOCKER-ISOLATION-STAGE-1 -p all -j RETURN
iptables -A DOCKER-ISOLATION-STAGE-2 -p all -o docker0 -j DROP
iptables -A DOCKER-ISOLATION-STAGE-2 -p all -j RETURN
iptables -A DOCKER-USER -p all -j RETURN
iptables -I DOCKER-USER -i docker0 -j ACCEPT
这些是我的 iptables 规则,我做错了什么?
如果我放置:
iptables -A OUTPUT -p tcp -j ACCEPT
& iptables -A INPUT -p tcp -j ACCEPT
,它有效