当我登录 192.168.0.1 进入路由器的配置页面时,我看到路由器的外部 IP 地址为:10.121.69.5
当我通过 ip4.me 检查我的公共 IP 地址时,我得到的公共 IP 为:49.205.114.40
这意味着我的路由器无法直接公开访问互联网,而是位于 ISP 设置的某些 NAT 后面。
我想以编程方式获取此 IP:10.121.69.5 ,但我似乎无法在连接到路由器的设备上的任何位置找到它。
nslookup myip.opendns.com resolver1.opendns.com
上面的命令给了我我的互联网公共IP:49.205.114.40
如何从连接到路由器的设备获取路由器的中间公共IP:10.121.69.5。
Figure 1 summarizes a common network topology in which a CGN
operates.
.
:
| Internet
............... | ...................
| ISP network
External pool: |
49.205.114.40/26 |
++------++ External realm
........... | CGN |...............
++------++ Internal realm
10.121.69.1 | |
| |
| | ISP network
............. | .. | ................
| | Customer premises
10.121.69.5 | | 10.121.69.6
++------++ ++------++
| CPE1 | | CPE2 | etc.
++------++ ++------++
192.168.0.1
(IP addresses are only for example purposes)
Figure 1: CGN network topology
找出您的内部领域 IP 的最佳机会是使用跟踪路由技术。为此,您需要手动将 ICMP 或 UDP 数据包上的 TTL 设置为低级别(可能为 0-2),并查找 ICMP 消息错误消息(通常类型为 11)。它有望包含内部领域 IP。
答案就在这里
sudo apt-get install miniupnpc
upnpc -s | grep ^外部IP地址|切-c21-