![外部 IP 检查报告与 /etc/network/interfaces 不同的 IP](https://linux22.com/image/52168/%E5%A4%96%E9%83%A8%20IP%20%E6%A3%80%E6%9F%A5%E6%8A%A5%E5%91%8A%E4%B8%8E%20%2Fetc%2Fnetwork%2Finterfaces%20%E4%B8%8D%E5%90%8C%E7%9A%84%20IP.png)
我的 ISP 为我提供了用于互联网访问的静态 IP 范围:123.123.123.120-125
(Debian) /etc/network/interfaces:
auto eth1
iface eth1 inet static
address 123.123.123.120
netmask 255.255.255.0
gateway 123.123.123.254
dns-nameservers 8.8.8.8
当我去外部网站检查我的 IP 地址时,它没有报告 123.123.123.120,事实上外部 IP 检查显示我的是 23.23.23.45,这与 ISP 给我的不同。不过我仍然可以正常访问互联网。 (Traceroute 显示 23.23.23.45 也属于我的 ISP)
这台 Linux 机器旁边的 Windows 机器使用 123.123.123.125 设置,网站外部 IP 检查显示 123.123.123.125
我怀疑 ISP 使用某种高级代理?难道只有Linux机器能识别真实IP而Windows机器不能识别吗?
所以我做了另一个测试,我设置了一台 Windows 机器并使用相同的 ip 123.123.123.120,我将以太网电缆从 Linux 机器拔到 Windows 机器,运行 ip 检查并且 ip 检查报告正确,它报告 123.123.123.120。
Linux机器上出现这种奇怪现象的原因是什么?
这是我的 /etc/network/interfaces:
**笔记:eth0 和 eth2 用于 virtualbox 虚拟网卡桥接,所以我只是将其注释掉并保留它们
# The loopback network interface
auto lo
iface lo inet loopback
## eth0 TPLink Realtek
# auto eth0
# iface eth0 inet static
# address 10.10.10.10
# netmask 255.0.0.0
# eth1 mobo intel nic
auto eth1
iface eth1 inet static
address 61.xx.yy.zz
netmask 255.255.255.0
gateway 61.xx.yy.254
dns-nameservers 8.8.8.8
## eth2 intel nic
# auto eth2
# iface eth2 inet static
# address 10.10.20.20
# netmask 255.0.0.0
和我的 ifconfig:
eth0 Link encap:Ethernet HWaddr a0:f3:c1:00:52:50
inet6 addr: fe80::a2f3:c1ff:fe00:5250/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:131 errors:0 dropped:0 overruns:0 frame:0
TX packets:57 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13885 (13.5 KiB) TX bytes:14304 (13.9 KiB)
Interrupt:42 Base address:0x4000
eth1 Link encap:Ethernet HWaddr 30:85:a9:a7:a0:bb
inet addr:61.xx.yy.zz Bcast:61.xx.yy.255 Mask:255.255.255.0
inet6 addr: fe80::3285:a9ff:fea7:a0bb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:339 errors:0 dropped:0 overruns:0 frame:0
TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:53807 (52.5 KiB) TX bytes:23917 (23.3 KiB)
Interrupt:18 Memory:f7e00000-f7e20000
eth2 Link encap:Ethernet HWaddr 00:1b:21:39:1f:e1
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::21b:21ff:fe39:1fe1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:643 errors:0 dropped:0 overruns:0 frame:0
TX packets:418 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:72405 (70.7 KiB) TX bytes:43037 (42.0 KiB)
Interrupt:16 Memory:f7dc0000-f7de0000
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:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1104 (1.0 KiB) TX bytes:1104 (1.0 KiB)
答案1
使用 ping 和 traceroute 以及 tcpdump 进行双向检查 - 从您的 Linux 机器到外部节点并返回。尝试例如https://www.whatismyip.com/...使用 HTTPS,而不是 HTTP。并且...询问 ISP 是否有任何地址转换或 (http) 代理。 :)
编辑:也许您的浏览器正在(自动)配置为使用代理。检查例如,tcpdump -i eth1 port 80
看看您的浏览器是否直接与目标服务器对话。