如何找到执行端口转发的程序?

如何找到执行端口转发的程序?

6 个月前,我以某种方式在我的一台 AWS EC2 服务器上配置了端口转发,但我不记得是如何配置的。

它是 Amazon Linux 实例。我以为我使用了 iptables,但规则表揭示了一切。

$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DOCKER-ISOLATION  all  --  anywhere             anywhere            
DOCKER     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain DOCKER (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             172.17.0.3           tcp dpt:6379
ACCEPT     tcp  --  anywhere             172.17.0.2           tcp dpt:11181
ACCEPT     tcp  --  anywhere             172.17.0.2           tcp dpt:6380
ACCEPT     tcp  --  anywhere             172.17.0.4           tcp dpt:15672
ACCEPT     tcp  --  anywhere             172.17.0.4           tcp dpt:amqp

Chain DOCKER-ISOLATION (1 references)
target     prot opt source               destination         
RETURN     all  --  anywhere             anywhere 

有些东西将请求从 80 转发到 9000(在 docker 容器中运行的应用程序)。

我怎样才能找到它?

答案1

结果我不得不使用iptables -t nat -S查看 NAT 规则。

答案2

我不明白你的情况,但如果你能用这个答案提醒一下。对于端口转发,我使用这种命令作为 nat 类型:

/sbin/iptables -t nat -A DOCKER -p tcp  -d INPUT_IP_ADRESS --dport 80 -j DNAT --to-destination OUTPUT_IP_ADRESSS:9000

我放输出地址是因为我习惯使用2个网络接口。iptables-save如果有效的话不要忘记使用(开玩笑)

相关内容