V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yulihao
V2EX  ›  宽带症候群

不同两个段静态路由打通后互访还是 NAT 吗? OpenWrt 路由

  •  
  •   yulihao · 2023-06-08 13:20:43 +08:00 · 2172 次点击
    这是一个创建于 565 天前的主题,其中的信息可能已经有所发展或是发生改变。
    路由 A 连接电信
    路由 B 连接移动
    路由 A LAN 口连接了路由 B WAN 口(多 WAN )
    我通过路由器 A 指定了路由器 B 所分配的网段的下一跳到路由器 B 的 WAN 口,此时我路由器 A 下挂的设备访问路由器 B 下挂的设备,或者是反过来,他们获取到的是真实的 IP 还是路由器 NAT IP ?
    如果是路由器 NAT IP 的话那我应该怎么弄才能拿到访问者真实 IP (就是这个路由器下分配的 IP )
    比如路由器 A IP:192.168.255.1 ,分配 192.168.255.0/24
    路由器 B IP:192.168.254.1 ,分配 192.168.254.0/24 ,WAN IP 是 192.168.255.250
    我希望 192.168.255.3 访问 192.168.254.3 时,192.168.254.3 能够正确获取到 192.168.255.3 这个 IP 而不是路由器 NAT 的 IP ( 192.168.255.1 )
    (就提前问下,相关工具还没回到)
    (表达能力不行,还请见谅)
    15 条回复    2023-06-10 16:18:48 +08:00
    bao3
        1
    bao3  
       2023-06-08 13:39:16 +08:00
    没有架构图,所以文字部分我也没看。
家用路由器是工作在 NAT 状态下,如果你是 2 个 NAT 要打通,它们连起来后自然就是通的。因为这是网关模式 gateway ,不在一个网段时,WAN 是它唯一的出口。
但如果你的路由器是工作的路由模式,也就是跑路由,那你需要路由表,例如静态路由(双方互指)、RIP 协议(自动计算,15 跳)、OSPF ((全加入 Area0 )。
以上说得是你的 路由器之间直接互联。但如果你其中一台路由器是接在某个 pc 或者其他设备下面,那就一定要用路由表,和上面一样。
    AS4694lAS4808
        2
    AS4694lAS4808  
       2023-06-08 14:01:19 +08:00
    为啥路由器之间不是 LAN - LAN ?
    acbot
        3
    acbot  
       2023-06-08 14:08:13 +08:00
    主要是看路由器 B 与其接 LAN A 的这个 WAN 口 是如何配置的来决定,大多数默认情况下就是 NAT 出去的,确定也很简单 分别开一个 TCP 服务,比如 SSH WEB 等,用客户端或者是 TELNET 连接,然后看源 IP 就知道了!如果是 NAT 并且路由 B 是 OP 系统可以修改防火墙规则来实现,如果是其他品牌的路由器就得看这个路由器是否支持修改 WAN 口模式了(大部分不行有少部分可以)
    yulihao
        4
    yulihao  
    OP
       2023-06-08 14:48:13 +08:00
    @bao3 双方互指的话就能实现,是不是说静态路由后会使得被指网段的模式不是 nat 了?
    txydhr
        5
    txydhr  
       2023-06-08 14:55:01 +08:00 via iPhone
    把路由 B 连接路由 A 的那个 wan 口关闭 nat 就行,比如 openwrt 就是在防火墙设置里把那个 wan 口的“ip 伪装”关闭,这样两个 lan 区域就是标准的路由模式。
    txydhr
        6
    txydhr  
       2023-06-08 15:03:13 +08:00 via iPhone
    你这种架构,配置好后两个路由都要相互配置好静态路由,不然比如 lanB 访问 LanA 的 ip 地址,路由器 B 会按默认路由把数据包发到移动线路去。
    txydhr
        7
    txydhr  
       2023-06-08 15:03:35 +08:00 via iPhone
    @yulihao 光配置静态路由并不会关闭 NAT
    txydhr
        8
    txydhr  
       2023-06-08 15:12:49 +08:00 via iPhone
    @txydhr 至少我之前试过有的路由器 lan1 通过静态路由主动访问 lan2 子网的时候会被 nat 成 lan2 的路由器地址。nat 感觉是双向的,不配置端口映射的情况下,谁主动访问另一端,谁的地址就会被“翻译”。当然可能各个路由器系统写的软件不一样。
    HughRyu
        9
    HughRyu  
       2023-06-08 15:29:01 +08:00
    打洞,用 wireguard 或者 tailscale
    lhbc
        10
    lhbc  
       2023-06-08 15:32:30 +08:00
    网络基础需要学一下
    路由是路由器把包按路径发出去就不管了
    NAT 是路由器需要修改包的源地址
    bao3
        11
    bao3  
       2023-06-08 16:11:28 +08:00
    @yulihao #4 #7 楼的回复是对的,双方互指只是路由表变化,不改变 NAT 的 IP 转换。你可以这样理解:路由是寻址方式,NAT 地址转换,它们没有联系。
    bao3
        12
    bao3  
       2023-06-08 16:12:29 +08:00
    @yulihao #4 就如同 10 楼的补充。2 个相互没有有关系的功能,相互不影响。
    yulihao
        13
    yulihao  
    OP
       2023-06-08 20:54:16 +08:00
    @txydhr
    @bao3 问题解决,感谢
    aliseree
        14
    aliseree  
       2023-06-10 14:53:51 +08:00
    咋设置的呢,给个解决方案参考一下呀,我也碰到同样问题,谢谢
    yulihao
        15
    yulihao  
    OP
       2023-06-10 16:18:48 +08:00
    @aliseree 按照上面说的架构,路由二的 WAN 区域关闭 IP 伪装( NAT ),允许转发,然后双方互指(静态路由)就好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3448 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 04:57 · PVG 12:57 · LAX 20:57 · JFK 23:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.