openwrt 开启动态 IP 伪装后,所有外网 IP 全部被识别为网关 IP 怎么办

2024-06-24 16:56:47 +08:00
 chunkingName

我的网络图如下 将两个路由器串联后,为了使一级路由能访问二级路由,给一级路由加了一个静态路由,一级路由和二级路由都开启了动态 IP 伪装(不开启二级路由无法上网) 但是开启了动态伪装后,外部 IP 爆破攻击流量全部被识别为 192.168.123.1 ,导致我的 windows 远程和群晖登录封锁都被处罚,把 192.168.123.1 给封锁了。有什么办法能准确识别外部 IP ,不要封锁 192.168.123.1 么?

3611 次点击
所在节点    宽带症候群
21 条回复
povsister
2024-06-24 18:48:08 +08:00
路走窄了,你这个要求最简单的方式是内网设备添加 123.1 的白名单

而且你用 123.1 做拨号,所以 NAT 是必须的,然后你下挂路由又做一层 nat… 属于没救的那种,把二级路由拆了用交换机吧
wuruxu
2024-06-24 19:41:55 +08:00
开启动态 IP ,为什么会有这样的需求
chunkingName
2024-06-25 16:56:31 +08:00
@povsister 我现在就是添加了白名单,但是添加白名单后,一直有爆破攻击试图登录群晖 SSH 、和我的 windos 远程。虽然密码不是弱密码,但这样一直被爆破,会有什么问题吗?
kaedeair
2024-06-25 17:26:05 +08:00
用 vpn 连回来就完事了
povsister
2024-06-25 18:15:21 +08:00
@chunkingName
你的需求本质是网段划分,结果你做成了两层 NAT ,还叠上 Port Forawrding 的 buff ,所以导致丢失了外部原始 IP 。

弄清楚自己的需求,别去乱开一些自己不了解的东西。

如果你非要保持两级 NAT ,那么确保你自己只开 IP masquerade ,同时停用 Port forwarding ,改用 DSTNAT
zreyu
2024-06-26 00:54:56 +08:00
有的楼层说到点子上了,但都没有解决实际问题。防火墙→nat 规则→自动重写源 ip
chunkingName
2024-06-26 09:09:24 +08:00
@povsister 我的需求是 前后两个路由器 前面的路由器负责拨号和端口转发,后面的路由器负责代理。前面路由器的 wifi 给家里人用,后面的路由器我自己可以随便折腾不会影响前面的 wifi 。 我之所以开启动态 IP 伪装是因为群晖 docker 独立 IP 需要开启动态 IP 伪装才能端口转发到,增加静态路由是因为,默认情况下连接一级路由的设备(家里的电视要连接群晖的 jellyfin ),访问不到连接二级路由的设备( NAS ) 所以我折腾了半天折腾出现在的方案,导致了目前的问题.
htfcuddles
2024-06-26 10:30:08 +08:00
大哥,你是双重 NAT ,组网大忌。要么路由 2 开 AP 模式二层转发,要么路由 12 都加静态路由三层转发。Masquerading 千万别开。
chunkingName
2024-06-26 12:24:29 +08:00
@htfcuddles 组网大忌是指会造成什么严重后果吗
chunkingName
2024-06-26 12:27:13 +08:00
@zreyu 好奇怪,按照你的设置了后,之前群晖每几分钟就有日志显示有人尝试用 root 用户登录,开了之后没有了。但也没有提示有别的 IP 爆破攻击。
htfcuddles
2024-06-26 17:10:41 +08:00
@chunkingName #9 1. P2P 开洞失效,影响包括不限于 BT 、游戏等 2. 你遇到的端口转发问题 3. 引入额外延迟 https://kb.netgear.com/30186/What-is-double-NAT-and-why-is-it-bad
htfcuddles
2024-06-26 17:27:46 +08:00
@chunkingName #7 路由表能解决的问题非要折腾 NAT ,你看企业内网那么多网段,有哪家会用 NAT 的么。。
chunkingName
2024-06-26 17:45:37 +08:00
@htfcuddles 哈哈哈谢谢解答 我对网络不太会,搜出来的教程东拼西凑呈现在这样了,确实一堆问题。
zreyu
2024-06-26 18:52:42 +08:00
@chunkingName 看你的网络结构结合其他网友的建议,2 级路由为什么不和主路由在 1 个网段
这个不难设置
chunkingName
2024-06-27 12:59:17 +08:00
@zreyu 可以在一个网段么 我就想在一个网段的 一个网段的话,还能同时开启 wifi 么,怎么设置
chunkingName
2024-06-27 13:21:51 +08:00
@zreyu 我是希望第一个路由器负责拨号,动态 DDNS ,端口转发,第二个路由器开代理。这样家人可以用第一个路由器的 wifi ,不会受第二个路由器影响,第二个路由器连接 NAS 和电脑,开启具有代理的 wifi (给电视用)
htfcuddles
2024-06-28 12:12:34 +08:00
@chunkingName #16 路由 2 折腾科学上网的话两个方案:a )一个网段,路由 1 开 DHCP ,不翻设备设 DHCP ,翻的设备手动网关指向路由 2 ,或者干脆直接在 DHCP 服务里按 MAC 设置。这个方案的去程回程路由不一样,可能引起奇怪的问题,包括路由重定向,需要对抓包分析内核调参等比较熟 b)两个网段,路由 1 和 2 分别添加静态路由,路由 1 开 DNAT 到需要公网访问设备。这个方案问题最少,但是由于广播域不同投屏等功能会受限,需要的话要折腾转发方案。
zreyu
2024-06-29 09:51:24 +08:00
@chunkingName 旁网关呀,很简单,你的需求和我一样的。硬路由拨号,旁路由其他功能,硬路由 DHCP ,自定义网关 IP 是旁路由,旁路由和硬路由一个网段,硬 168.1 ;旁 168.2 ,网上搜
zreyu
2024-06-29 09:52:24 +08:00
旁网关关闭 DHCP ,并设置 DHCP 通告,3 ,168.1 ,告诉局域网设备,如果我挂了,就 168.1 顶上,
MiKing233
2024-09-08 02:17:27 +08:00
我跟你一樣, 剛折騰完解決這個問題, 遇到的問題就是 IP 動態僞裝要勾選, 不勾選網路就不通(當然因爲 NAT 問題), 不過勾選之後經過轉發外網訪問的 IP 地址就變成了 OpenWrt 自身, 看不到真實地址, 解決方案如下:

版本 OpenWrt 18.06-k5.4 AArch64 5.4.203

在"防火墙 - 区域设置"中, 確保 lan:lan:以太网适配器: "eth1" ⇒ vpn wan 中的"IP 动态伪装"勾選
在"防火墙 - 自定义规则"中, 添加以下 iptables 規則:
iptables -t nat -A POSTROUTING -o br-lan -j MASQUERADE ! -i 10.128.0.0/16
iptables -t nat -A POSTROUTING -s 10.128.0.0/16 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 10.128.0.0/16 -o br-lan -j ACCEPT

其中網段根據你的網路環境修改, 第二條中的 eth1 也根據實際情況修改

在這種 OP 只有一個 LAN 連接上級 Gateway 作爲旁路 Gateway 存在的情況下, 關鍵問題在於 NAT 處理哪一段的數據, 如果是處理整個 br-lan 中的數據包, 那麽端口轉發后到達目標設備的 IP 地址必然會變成 OP 自己, 在這三條規則中, 第一條折騰過的肯定不陌生, 重要是下面兩條, 首先是對整個 eth1 出去的數據包進行 NAT 處理, 但要再加上一條通過接口 br-lan 時跳過 NAT 處理, 這樣就可以讓端口轉發后到達目標設備的 IP 地址為外部源地址, 但又不影響其他需要正常被 NAT 的數據, 從而完美解決這個問題, 看了一圈似乎都沒有對這方面的回答, 希望能幫到各位

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX