我有ubuntu 22。04 LTS服务器,在端口1880上暴露了一个运行nodered的容器,我想用iptables来restringer。我的配置如下:
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
,它可以工作
1条答案
按热度按时间hts6caw31#
这个配置应该足够了:
确保node-red容器启动时连接到主机网络,或连接到Docker网桥网络,暴露端口1880。如果要公开不同的端口,请相应地修改iptables规则。