一、IP动态伪装(IP Masquerading)

作用:​

  1. 网络地址转换(NAT)​
    允许内网设备(使用私有IP地址,如 192.168.x.x )通过路由器的公网IP访问互联网。OpenWrt路由器会将内网设备的私有IP动态转换为公网IP,使外网服务器看到的所有流量都来自路由器的公网地址。

  2. 连接跟踪与状态维护
    动态伪装会跟踪每个内网设备的网络连接状态,确保返回的响应数据包能正确转发到对应的内网设备。

  3. 安全隔离
    默认隐藏内网设备的真实IP,避免内网设备直接暴露在公网,增强安全性。

配置示例(OpenWrt):​

  • /etc/config/firewall 中,通常会在 wan 区域的防火墙规则中启用IP动态伪装:
    config zone
        option name 'wan'
        option masq '1'  # 开启动态伪装
        option mtu_fix '1'
    

    原理:​

    • 当内网设备发送请求到外网时,路由器会修改数据包的源IP​(从私有IP改为公网IP)和源端口,并记录转换规则。
    • 外网返回的响应数据包会被路由器根据记录反向转换,确保正确路由到内网设备。
    二、MSS钳制(MSS Clamping)

    作用:​

    1. 避免TCP分片(Path MTU Discovery)​
      当网络路径中存在不同MTU(最大传输单元)的设备时(如PPPoE拨号的MTU通常为1492,而以太网默认MTU为1500),MSS钳制通过强制修改TCP连接的MSS(最大报文段大小)​值,确保数据包不会超过路径中的最小MTU,从而避免分片或丢包。

    2. 提升网络性能
      减少因分片导致的延迟和重传,优化TCP连接效率。

    配置示例(OpenWrt):​

    • 针对PPPoE拨号(MTU=1492),在防火墙规则中设置MSS钳制:
      config rule
          option name 'Clamp MSS'
          option src 'lan'
          option proto 'tcp'
          option tcp_flags 'SYN,RST'
          option target 'ACCEPT'
          option clamp_mss_to_pmtu '1'  # 自动根据路径MTU调整MSS
      或手动指定MSS值(如PPPoE场景下推荐设置为1452):
      option clamp_mss_to_pmtu '0'
      option set_mss '1452'  # MSS = MTU(1492) - IP头(20) - TCP头(20) = 1452

    原理:​

    • 在TCP三次握手的SYN阶段,路由器会检测客户端的MSS值。
    • 如果客户端的MSS大于路径MTU允许的值,路由器会将其修改为更小的值(如从1460改为1452)。
    • 后续的TCP数据包将基于新的MSS值传输,避免分片。
    三、两者的协同作用
    1. IP动态伪装解决的是内网设备访问外网的地址转换问题,确保流量可达。
    2. MSS钳制解决的是TCP连接在复杂网络环境中的传输效率问题,避免因MTU不匹配导致的性能下降。

    典型应用场景:​

    • 家庭/企业网络:内网设备通过NAT上网(IP伪装),同时通过MSS钳制优化PPPoE、VPN等场景下的网络性能。
    • 移动热点:手机热点共享网络时,动态伪装和MSS钳制可协同保障连接的稳定性和速度。
    • IP动态伪装:核心是NAT,解决内网设备通过单一公网IP访问外网的问题。
    • MSS钳制:核心是优化TCP连接,避免因MTU差异导致的分片和性能损失。
    • 配置位置:两者均通过OpenWrt的防火墙配置(/etc/config/firewall)或LUCI界面(Network → Firewall)实现。

    以下来源于恩山:https://www.right.com.cn/forum/thread-4453763-1-1.html

    1.LAN口取消桥接


    2.防火墙添加"iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE",重启防火墙

    另外确保开启了转发,以及关闭LAN口dhcp服务

    更多解释:关于旁路由设置后,主路由WIFI无法上网的问题「建议收藏」-腾讯云开发者社区-腾讯云

    我的理解:

    按照此方法也可以解决无法访问国内网站的问题,但"iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE"使内部设备(如 192.168.1.0/24)通过openwrt访问外网时,其源 IP 会被伪装成 eth0 的 IP,即本次设置的192.168.1.254,使得返回的流量能正确回到openwrt,再由openwrt转发回内部设备。其实现的功能与上面IP动态伪装类似,但实测国内网站打开速度变慢,我猜测有可能和分流设置有关,待求证。

    4.设置了默认网关地址为旁路网关地址后无法使用远程桌面连接解决方案:

    拓扑图如下

    1.主路由设置端口转发到旁路网关

    2.旁路网关设置端口转发到需要被远程的设备

    当保存&应用之后发现远程桌面使用不了,编辑刚刚创建的端口转发规则,将源区域改为LAN后可成功访问远程桌面。

    另附cisco packet tracer官方下载地址,此版本需要登陆

    下载页面:Resource Hub: Get Packet Tracer, Virtual Machines, and More

    123网盘镜像地址:Packet_Tracer822_64bit_setup_signed.exe官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘

    SHA1: 5ab531b64c8e0d57f85f3d073cb31cc8e28bbcaf

    SHA256: 1aa1094bfa611c955c2e2885aea3bc8685211c95b55de017242fd0d38eb7cab1
    MD5: d1d65286b7ee0a1e8b9dce107ac94f4c

    227 MB (238,928,968 字节)

    上图是旁路由连接方式,一般作为旁路由的只有一个LAN口,可以把它想成一个普通的连接路由器的电脑。让他们ip在一个网段即可,比如主路由网关192.168.3.1,旁路由配置成192.168.3.2 1.主路由配置:DHCP配置,把网关DNS改成旁路由ip地址,如192.168.3.2。 2.旁路由配置:关闭DHCP,把网关改成主路由地址,如192.168.3.1,关闭桥接模式。 这样配置后,网络流量如下图:
    macbook中vmware装了个openwrt旁路由,桥接到本机的无线网卡,经测试发现: 1、宿主机改网关后,可通过op上网科学 2、其他无线设备改网关不能上网,但是可以ping通op,上op的网页 3、op终端可以ping通其他无线设备 1、宿主机开启路由转发,ip forward=1。 2、macbook 操作https://github.com/Miss-you/completedblog/blob/master/mac_os开启路由转发功能.md 3、提示权限不够时,用 sudo su
    OpenWRT是一款基于Linux的路由器固件,它提供了丰富的网络管理功能。要在OpenWRT上设置旁路由(也称为中继模式,即通过无线桥接访问互联网),并限制对特定网站的访问,你可以按照以下步骤操作: 1. **登录OpenWRT Web界面**: 使用浏览器输入路由器的IP地址(默认通常是`http://192.168.1.1`),然后用管理员账号登录。 2. **选择合适的网络模式**: 在“网络”或“Wireless”菜单下,将路由器的工作模式设为“中继”或“Bridge Mode”。 3. **配置WiFi接入点**: 配置你的主WiFi SSID、密码以及所需的信道,确保能正常连接到主路由器。 4. **启用IP转发(NAT)**: 在“网络”->“高级”->“防火墙”中,启用IP包转发(通常已预设为开启)。 5. **应用访问控制列表**: 转至“LuCI”下的“Firewall”或类似的安全配置选项,新建或编辑一个访问控制列表(ACL)。例如,在`uci add section firewall rule`部分添加如下规则: firewall='rule' interface=wlan0wan #你的主网接口 action=forward target=ACCEPT condition='ipaddr dst <网站的IP地址> port <端口号>' comment='仅允许访问指定网站' 将 `<网站的IP地址>` `<端口号>` 替换为你想要限制的实际值。 6. **保存并重启**: 确认所有更改无误后,点击保存,并可能需要重启路由器以应用新的设置。 7. **测试访问**: 检查是否能成功连接并只能访问指定的网站。如果需要,可以在Web浏览器的开发者工具里查看网络请求,确认过滤生效。 记得定期检查更新防火墙规则,因为网站的IP或端口可能会有变动。
    Active Directory 域中的 Active Directory、PowerShell、Windows Server、域控制器和 Windows 工作站的教程和分步手册 Active Directory 域中的 Active Directory、PowerShell、Windows Server、域控制器和 Windows 工作站的教程和分步手册 联想小新 潮7000-14IKBR修改启动项后仍无法从u盘引导解决方案 开源防火墙 Active Directory 域中的 Active Directory、PowerShell、Windows Server、域控制器和 Windows 工作站的教程和分步手册 联想小新 潮7000-14IKBR修改启动项后仍无法从u盘引导解决方案 开源防火墙