linux通过路由器获取pc端ip,如果我在路由器后面,如何从命令行获取我的公共IP地址?...

假设你的系统有2台以太网设备,eth0并eth1与eth0连接到您的网络,说IP地址192.168.1.X,你的eth1设备连接到您的ISP(WAN),你会想用下面的ifconfig命令来获得你的IP为WAN端。

注意:第一种2种方式假定您正在具有2个以太网设备的计算机上运行它们,并且其中一个已连接到ISP(电缆调制解调器和/或DSL调制解调器)。在这种情况下,将使用您在Internet(WAN IP)上的IP地址来配置以太网设备(eth1)。

第一种方式

+------------------------+

+--------+ WAN IP | Computer that wants | LAN IP

|Internet|--------------| to know WAN IP |------------

+--------+ 54.234.1.33 | +------+ +------+ | 192.168.1.1

+-| eth1 |------| eth0 |-+

+------+ +------+

% ifconfig eth1 | awk '/inet / { print $2 }' | sed -e s/addr://

54.234.1.33

您也可以使用该ip命令。

% ip addr show eth1 | awk '/inet/ {print $2}' | sed 's#/.*##'

54.234.1.33

第二路

如果您需要从仅位于LAN上的系统中找到此信息,则可以设置无密码的ssh密钥,并将其添加到LAN机器上的帐户中,以便它可以像这样通过WAN访问来远程访问系统。

+----------------+

+--------+ WAN IP +-------------+ LAN IP | Computer that |

|Internet|----------------|remote-server|-----------------| wants to know |

+--------+ 54.234.1.33 +----+-----+----+ 192.168.1.x +----+ WAN IP |

|eth1| |eth0| |eth0|------------+

+----+ +----+ +----+

% ssh ruser1@remote-server "ifconfig eth1 | awk '/inet / { print \$2 }' | sed -e s/addr://"

54.234.1.33

第三种方式

如果您无法进入具有WAN访问权限的盒子,并且正在使用家用路由器/交换机,例如Linksys或Netgear盒子。您可能可以通过HTTP状态页面从该设备获取IP。我过去也这样做过,类似于whatismyip.com论坛帖子中所描述的内容。

192.168.1.2

+----------------+

+--------+ WAN IP +-------------+ LAN IP | Computer that |

|Internet|----------------|router/switch|-----------------| wants to know |

+--------+ 54.234.1.33 +-------------+ 192.168.1.x +----+ WAN IP |

192.168.1.1 |eth0|------------+

+----+

# something like this....

% wget -q -O - http://:@192.168.1.1/Status_Router.asp | grep "ipaddress" | cut -d" " -f2

注意:此方法高度依赖于您拥有的路由器/交换机,无论它是Linksys,Netgear等品牌。每个人都有自己的独特页面,上面有WAN IP。

第四方式

向外部互联网站点发送查询,该查询将报告您的WAN IP地址。

注意:我知道原始问题提到他们正在寻找这种方法的替代方法,但我将其放在此处,以便此答案涵盖所有基础。

+---------------+

+-------------+ +--------+ +------+ LAN IP | Computer that |

|whatsmyip.com|---|Internet|---|router|---------------| wants to know |

+-------------+ +--------+ +------+ 192.168.1.x +----+ WAN IP |

you're 54.234.1.33 |eth0|-----------+

+----+

# 1st server

% wget -qO - ipv4bot.whatismyipaddress.com

54.234.1.33

# 2nd server

% curl 'https://api.ipify.org?format=json'

{"ip":"54.234.1.33"}

% curl 'https://api.ipify.org?format=txt'

54.234.1.33

# 3rd server

% curl -s checkip.dyndns.org | sed 's#.*Address: \(.*\)

54.234.1.33

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值