在 Linux Iptable 防火墙上显示 Natted/路由连接
问:我的 Linux 机器充当了 100 多台通过 LAN 连接的计算机的软件路由器(NAT 化)。常规 netstat 命令未显示所有 NAT 化连接的列表。如何找出 Debian 4.x 系统自带的 netfilter/iptables 管理的连接?
A.不能使用常规的 netstat 命令来显示 iptables 管理的 NAT 连接。您需要使用 netstat-nat 命令。您也可以使用 /proc/net/ip_conntrack 或 /proc/net/nf_conntrack,它们是 netfilter 的临时 conntrack 存储。
安装 netstat-nat
在Debian/Ubuntu Linux下使用apt-get命令,输入:
$ sudo apt-get install netstat-nat
源代码/RPM 文件
如果您使用的是 Suse / Redhat Linux,请在此处获取源代码或 RPM 文件:
如何使用 netstat-nat 命令?
以 root 用户身份登录并输入以下内容以显示所有
# netstat-nat -n
NAT 连接的列表:要显示带有协议选择的 NAT 连接,请输入:
# netstat-nat -np
要显示名为 192.168.1.100 的源 IP 的所有连接
# netstat-nat -s 192.168.1.100
,请输入:要显示名为 laptop 的目标 IP/主机名的所有连接,请输入:
# netstat-nat -s laptop
要显示 SNAT 连接,请输入:
# netstat-nat -S
要显示 DNAT 连接,请输入:
# netstat-nat -D
要仅显示与 NAT 盒自身的连接(即不显示 SNAT 和 DNAT),请输入:
# netstat-nat -L
要显示帮助,请输入:
$ netstat-nat -h
$ man netstat-nat