我有2台机器
A 192.168.0.40 (CentOS)
B 192.168.0.41 (Debian)
Gateway 192.168.0.2
现在我确实使用设置了端口转发防火墙D, 从
A port 2245
to
B port 22
从客户端 192.168.0.1 通过机器 A 与机器 B 建立连接
在机器 A 上运行 netstat
# netstat -tulpane
输出:
# netstat -tulpane
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 0 16330 1/systemd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 20510 1273/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 0 21452 1841/master
tcp 0 0 192.168.0.40:22 192.168.0.1:64870 ESTABLISHED 0 142436 4598/sshd: root@
tcp 0 0 192.168.0.40:22 192.168.0.1:59846 ESTABLISHED 0 22169 2480/sshd: root
tcp 0 64 192.168.0.40:22 192.168.0.1:65139 ESTABLISHED 0 146378 4782/sshd: root@
tcp 0 0 192.168.0.40:22 192.168.0.1:65095 ESTABLISHED 0 145904 4756/sshd: root@
tcp 0 0 192.168.0.40:22 192.168.0.1:65024 ESTABLISHED 0 145298 4704/sshd: root@
tcp6 0 0 :::111 :::* LISTEN 0 16329 1/systemd
tcp6 0 0 :::22 :::* LISTEN 0 20519 1273/sshd
tcp6 0 0 ::1:25 :::* LISTEN 0 21453 1841/master
udp 0 0 127.0.0.1:323 0.0.0.0:* 997 16978 782/chronyd
udp 0 0 0.0.0.0:922 0.0.0.0:* 0 41344 2868/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 0 41343 2868/rpcbind
udp6 0 0 ::1:323 :::* 997 16979 782/chronyd
udp6 0 0 :::922 :::* 0 41346 2868/rpcbind
udp6 0 0 :::111 :::* 0 41345 2868/rpcbind
问题:为什么我在连接中看不到机器 B?我该怎么做才能看到它?
答案1
为什么我看不到连接中的机器 B?
因为它充当路由器,而不是连接的端点。
我该怎么做才能看到它?
要显示状态防火墙跟踪的连接,请运行conntrack
。
http://conntrack-tools.netfilter.org/manual.html#conntrack
如果您没有状态防火墙,您将不得不简单地捕获和解释数据包。 wireshark
效果很好。