如何查询ISP DHCP服务器分配的公网IP地址段(Ubuntu系统)
操作步骤
1. 安装必要工具
Ubuntu默认没有预装IP查询相关工具,先执行命令安装:
sudo apt update && sudo apt install whois curl -y
2. 获取当前出口公网IP
在终端执行以下任意命令即可拿到当前公网IP:
curl ifconfig.mecurl ipinfo.io/ip
3. 查询IP所属的ISP分配段
执行whois命令查询该IP的归属段:
whois 你上一步获取到的公网IP
在返回结果中找到inetnum(国内ISP常用)或者NetRange(海外ISP常用)字段,对应的值就是该IP所属的ISP分配地址池段,你日常动态分配的公网IP基本都在这个段范围内。
验证段的准确性
为了避免提交的段范围过大或者覆盖不全,建议按以下操作确认:
- 连续7-14天每天查询1-2次公网IP,对每个IP执行whois查询,记录所有出现的地址段
- 取所有记录段的并集提交给管理员,既保证你所有可能的IP都被放行,也尽量缩小放行范围降低安全风险
可选:自动监控IP变化
你可以写个简单的定时脚本自动检测IP变动,无需手动查询:
# 示例脚本,可加入crontab定时执行 #!/bin/bash CURRENT_IP=$(curl -s ifconfig.me) SAVED_IP=/tmp/last_ip if [ ! -f $SAVED_IP ] || [ "$CURRENT_IP" != "$(cat $SAVED_IP)" ]; then echo $CURRENT_IP > $SAVED_IP # 此处可以加通知逻辑,比如写入日志、发本地提醒等 fi
注意:不要直接提交单个whois返回的超大规模段(比如覆盖整个省级行政区的段),过大的放行范围会给公司生产服务器带来不必要的安全风险,优先提交自己实际会用到的最小范围段。
内容的提问来源于stack exchange,提问作者sunxd
相关产品推荐
相关产品推荐

