我把我的手放在一个遗留系统(一个Xen群集),我试图了解它的架构。 似乎有服务监听IP(例如,1.2.3.4),不显示在ifconfig输出:
# ifconfig eth0 Link encap:Ethernet HWaddr 00:16:3e:98:46:4b inet addr:3.3.3.3 Bcast:3.3.3.255 Mask:255.255.255.0 inet6 addr: fe80::216:3eff:fe98:464b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2701271309 errors:0 dropped:0 overruns:0 frame:0 TX packets:2580523122 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2013971483375 (1.8 TiB) TX bytes:1994970579127 (1.8 TiB) eth0:0 Link encap:Ethernet HWaddr 00:16:3e:98:46:4b inet addr:10.0.5.4 Bcast:10.0.5.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:12776938 errors:0 dropped:0 overruns:0 frame:0 TX packets:12776938 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:2103144670 (1.9 GiB) TX bytes:2103144670 (1.9 GiB)
如果我在IP 1.2.3.4上有监听,可以通过外部访问:
nc -s 1.2.3.4 -p 8081 -l
(即我可以telnet或数码1.2.3.4:8081和发送数据)。
这使我得出的结论是,没有NAT。 但是,为什么不ifconfig列出IP?
我见过ifconfig没有显示分配给接口的所有地址的情况,但可以用ip addr (其中ip来自iproute2包)看到。
-s主机名/ IP地址
指定用于发送包的接口的IP地址 -
ETS。 在某些平台上,这可以用于UDP欺骗
使用ifconfig(8)调出所需的虚拟接口
源IP地址。
$ nc -s 1.2.3.4 -p 8081 -l& 不能用bind绑定1.2.3.4:8081:不能分配请求的地址
也许如果你从另一个terminal会话运行ifconfig , 同时 nc仍在运行,你可能会看到发生了什么。