继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

如何在本机上模拟IP地址

我码玄黄
关注TA
已关注
手记 19
粉丝 1
获赞 0

如何在本机上模拟IP地址

前言

在某些开发或测试场景中,我们可能需要在本机上模拟一个指定的 IP 地址,并让局域网内的其他设备能够通过该 IP 访问本机提供的服务(如 Web 服务)。

本文将详细介绍如何在 WindowsmacOS 系统上实现这一目标,并解决可能遇到的 DHCP 冲突问题。

预定义

本机实际内网ip: 192.168.2.7

本机需模拟的ip: 10.0.11.11

1. 在本机上模拟指定 IP

1.1 Windows 系统

Windows 上,可以通过 netsh 命令为网络接口添加额外的 IP 地址。

步骤:

  1. 打开命令提示符CMD(以管理员身份运行)。

  2. 使用以下命令为物理网络接口添加指定 IP:


netsh  interface  ipv4  add  address  "以太网"  10.0.11.11  255.255.255.0

  • "以太网":替换为你的网络接口名称(可通过 ipconfig 查看)。

  • 10.0.11.11:要添加的 IP 地址。

  • 255.255.255.0:子网掩码。

  1. 验证 IP 是否添加成功:

ipconfig

在输出中,你应该能看到 10.0.11.11 已绑定到指定的网络接口。

1.2 macOS 系统

在 macOS 上,可以通过 ifconfig 命令为网络接口添加额外的 IP 地址。

步骤:

  1. 打开终端。

  2. 使用以下命令为网络接口添加指定 IP:


sudo  ifconfig  en0  alias  10.0.11.11  255.255.255.0

  • en0:替换为你的网络接口名称(可通过 ifconfig 查看)。

  • 10.0.11.11:要添加的 IP 地址。

  • 255.255.255.0:子网掩码。

  1. 验证 IP 是否添加成功:

ifconfig

在输出中,你应该能看到 10.0.11.11 已绑定到指定的网络接口。

2. 让局域网内其他电脑访问指定 IP

为了让局域网内其他设备能够通过 10.0.11.11 访问本机提供的服务,需要确保以下几点:

2.1 配置路由

由于 10.0.11.11 和局域网内的其他设备可能不在同一子网,需要配置路由规则。

方案一:在路由器上配置静态路由(推荐)

  1. 登录路由器管理界面(通常是 192.168.2.1)。

  2. 找到 静态路由路由表 配置选项。

  3. 添加以下路由规则:

  • 目标网络: 10.0.80.0

  • 子网掩码: 255.255.255.0

  • 网关/下一跳: 192.168.2.7(即你的本机 IP)。

  1. 保存配置并重启路由器(如果需要)。

方案二:在其他电脑上手动添加静态路由(临时方案)

如果无法修改路由器配置,可以在需要访问 10.0.11.11 的电脑上手动添加路由规则。

  • Windows 命令

route  add  10.0.80.0  mask  255.255.255.0  192.168.2.7

  • macOS 命令

sudo  route  add  -net  10.0.80.0/24  192.168.2.7

  • Linux 命令

sudo  ip  route  add  10.0.80.0/24  via  192.168.2.7

2.2 配置防火墙

确保本机防火墙允许来自 192.168.2.x 网段的流量访问指定端口(如 80808084)。

Windows 防火墙设置

  1. 打开 控制面板系统和安全Windows Defender 防火墙高级设置

  2. 入站规则 中,新建规则:

  • 规则类型:端口

  • 协议:TCP,端口:8080,8084

  • 操作:允许连接

  • 应用范围:所有网络类型(域、专用、公用)。

  1. 保存规则并命名为 Allow 8080 and 8084

macOS 防火墙设置

  1. 打开 系统偏好设置安全性与隐私防火墙

  2. 点击 防火墙选项,添加允许 80808084 端口的规则。

2.3 服务绑定配置

确保你的服务(如 Web 服务器)绑定到 0.0.0.010.0.11.11,而不是仅绑定到 192.168.2.7127.0.0.1

示例

  • 如果使用 Python 启动 HTTP 服务:

python  -m  http.server  8080  -b  0.0.0.0

  • 如果使用 Nginx/Apache,检查配置文件中的 listen 指令:

listen 10.0.11.11:8080;

# 或

listen 0.0.0.0:8080;

2.4 测试访问

在其他电脑上测试是否可以访问 10.0.11.11 的服务。

使用 ping 测试:


ping  10.0.11.11

使用 curl 测试:


curl  http://10.0.11.11:8080

总结

通过以上步骤,你可以在本机上模拟指定 IP 地址,并让局域网内的其他设备通过该 IP 访问你的服务。

关键步骤包括:

  1. 在本机上添加指定 IP。

  2. 配置路由规则,确保跨子网通信。

  3. 配置防火墙,允许外部设备访问指定端口。

  4. 确保服务绑定到正确的 IP 地址。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP