弱电箱
|--------------------------------------------|
| |
| Modem1 ----> Router1(PPPoE+DHCP+NAT) ----|---> AP1 ----> Device1
| | |
|-------------------|------------------------|
|
|---------------> Device2
Modem1 和 Router1 都在弱电箱中,部分终端设备会通过墙内线连接 Router1 ,因此 Modem1 和 Router1 需要保持不变。
现在把 AP1 设备替换为网络代理(带大家都懂的一些功能,是个多网口设备)
方案 1 和 2 都会有两层 NAT 的问题,怎么搞?或者有其他更好的方案吗?
1
cpstar 2023-01-14 11:32:29 +08:00
你的 AP 不就是 AP ,又不是无线路由器,现状也不存在二次 NAT 的问题啊。
现状有啥问题? |
2
intoext 2023-01-14 11:45:31 +08:00
两层 NAT 算啥,几层 NAT 都不影响常规使用。 再说本来运营商那边还有一次 NAT 呢? 难道你路由器上 DHCP 到的地址是真 IP ?
|
3
MinonHeart OP @cpstar 现在的 AP 没有代理功能
|
4
MinonHeart OP @intoext 是的。不过 NAT 能少一层是一层
|
5
NXzCH8fP20468ML5 2023-01-14 14:20:03 +08:00
@MinonHeart 你的网络代理必然是网关,可以不做 NAT ,也要多一次转发。旁路由了解一下。
|
6
cpstar 2023-01-14 14:49:31 +08:00
AP 就是 AP ,代理的功能那也是应该在 router1 上实现的,如果不是全局代理,那就上旁路由,dhcp 按 mac 分配适当的网关地址。最简单的扁平化,不应该增加更多层次的设备。
|
7
smallfount 2023-01-14 14:55:01 +08:00 1
....又没人规定你挂个路由就要 NAT 了...直接转发不就好了。。。
|
8
sealinfree 2023-01-14 18:26:37 +08:00
不知道你用的什么 router ,是否有 bridge 功能,做个桥接二层全部互通,可以成为单层 Nat
|
9
garibellee 2023-01-14 20:06:58 +08:00
dns 分流
|
10
MinonHeart OP |
11
MinonHeart OP @cpstar Router1 不能装代理。dhcp 按 mac 分配适当的网关地址,这个有什么资料可以参考下嘛
|
12
MinonHeart OP @sealinfree Router 和替换 AP 的设备桥接?这样拨号是不是变成 AP 位置的设备了?
|
13
MinonHeart OP @garibellee 有资料可以参考下嘛
|
14
smallfount 2023-01-14 22:40:06 +08:00 1
@MinonHeart 你完全没理解网络 2 层转发的做法。。。
你这个拓扑我啥都不用动。。就单独挂一个旁路由或者虚拟机,IP 跟你所有内网 IP 同一段,网关配置为你 router1. 剩下的就是把需要 FQ 的网关都指向旁路由就解决所有问题了。。。 完全没任何操作难点。。。就一个纯 2 层的转发而已。。。至于你 FQ 怎么牵引流量那是 3 层的事情了。。 跟 NAT 一毛线关系的没有。。因为根本用不上 |
15
jacy 2023-01-14 23:24:27 +08:00 1
AP1 设备替换为网络代理,这个多网口设备的 lan 桥接到 Router1 ,这个多网口设备的 wan 口 ip 做网关和 DNS (旁路由)
|
16
sealinfree 2023-01-15 00:57:17 +08:00 1
@MinonHeart 还是由 Router 负责拨号,所有内网端口加入到同一个 bridge 中,可启用生成树协议避免打环,但是建议不用。这样 AP1 和 Device2 都在同一个二层内,再把 Device1 连接 AP1 的端口在 AP1 上加入 bridge 中,三个设备都处于同一个二层内,自然就不需要二次 Nat 了,可以直接通过 arp 请求互通了
|
17
nothingistrue 2023-01-15 10:08:14 +08:00 1
无线 AP 在第二层数据链路层;所有代理,最低只到第四层传输层; NAT 比较复杂,这是脱离 OSI 7 层模型之外的,他是解决 IP 问题的,应当属于第三层传输层,但因为不是标准实现实际上会影响很多层。路由器也很复杂,它是物理层,但它是不是单一物理层设备,它是第三层 IP 协议的物理层,它也是第二层无线 AP 协议、LAN 协议的物理层,它也是直接物理层的交换机 /集线器。
你的图,重新画吧,看你下面的回复,实际场景,跟你的图,是驴头不对马嘴。你现在是不是有 Modem1 、Router1 (只有 LAN ,没开代理),Router2 (无线路由器,跟 Router1 桥接,也就是你现在图上的 AP1 ),想总体加上代理。这玩意其实没那么复杂,只动 Router1 就行了,要么直接动 Router1 为其加上代理功能,要么给 Router1 加个树莓派旁路由(这时候 Router1 就降格成交换机了,路由功能都交给旁路有处理了)让旁路由搞代理。 不过,最后还是建议一下,透明代理有两个必要条件,Linux 基本操作能力,基本的网络编程能力,没这两项知识就不要搞了。 |
18
MinonHeart OP @smallfount
@jacy @sealinfree 谢谢老哥们,搞定了,不过 DNS 还是使用 Router1 。这样全网流量都会经过代理设备,有没有方法只让部分设备经过(比如通过 MAC Addr 过滤下)? 另外配置完,路由第一跳始终超时,正常吗? ``` > tracert baidu.com 通过最多 30 个跃点跟踪 到 baidu.com [39.156.66.10] 的路由: 1 * * * 请求超时。 2 1 ms 1 ms 1 ms 192.168.1.1 3 6 ms 4 ms 6 ms 100.81.0.1 ``` @nothingistrue 谢谢,讲的很明白 |
19
systemcall 2023-01-15 18:21:51 +08:00
Router1 能不能修改路由表?能不能修改自身的上游 DNS 服务器?
如果可以的话,就把 Router1 加几条路由规则,让 192.18.0.0/16 的流量路由到 AP1 ,上游 DNS 也指向 AP1 AP1 上开 Fake-ip 模式的代理,DNS 的话就要用可以实现分流的 DNS 服务器,有一些 DNS 软件是可以实现的,OpenClash 和 Clash 本身最近也支持了类似的功能,不过很弱。Clash 的话,可以通过 Fake-IP Filter 来做 这样的话,理想情况下可以实现国内网站直接通过 Router1 建立连接,IPv4 只经过一次 NAT ,IPv6 直连;国外网站通过解析到 Fake-IP 来与 AP1 建立连接,节点支持的情况下是可以使用 IPv6 的,如果要实现对纯 IP 的连接进行代理要手写路由表 |
20
garibellee 2023-01-15 21:13:41 +08:00
@MinonHeart 内网得有环境搭建 dns 服务器 我用的是 pve-debain mosdons+v2ray 实现分流,https://github.com/IrineSistiana/mosdns ,抄我师傅成熟方案哈哈
|
21
garibellee 2023-01-15 21:14:37 +08:00
@garibellee 需要科学的直接改 dns 就行
|
22
SgtPepper 2023-01-16 10:09:51 +08:00
router1 改成 R2 就行了 router1 不要了
你 R2 既然都能代理,那 DHCP NAT PPPOE 应当不在话下 |