研究了好久,没有搞定,各种 iptables,ip route/ip rule 都试过,还是没有正确转发相关数据 需求如下: 我希望的隧道原理是:A<--->B<--->C。B (内网)主动连接到两个 wireguard 隧道,B 有两个隧道网络 B1 连接到 A,B2 连接到 C。怎么才能让 A 发给 B1 的数据通过 B2 转发到 C,B 是一台 Centos7,同时连接的 A 跟 C。A 跟 B1 能通信,C 跟 B2 能通信。 A ip:192.168.100.1 B1 ip:192.168.100.254 B2 ip:192.168.200.254 C ip:192.168.200.1 如果才能把来之 192.168.100.0/24 的数据通过 192.168.200.254(B2)转发给 192.168.200.1,是 192.168.100.0/24 网段的所有数据都能转发出去,不是单个端口或者单个 IP。 另外还有一点疑问请教各位老哥。iptables 转发数据跟路由有什么关系吗,比如:我写了一条路由所有来自 B1 网卡 192.168.100.0/24 网段的包都从 B2 网卡的 192.168.200.254 出去,那中间我还需要 iptables 做 NAT 转发吗,我的意思是 3 层路由之间是直接能转发不同网段的数据包。还是说必须先通过 iptables 把所有来自 192.168.100.0/24 的包里面的原地址全部替换成转发出口的原地址呢,也就是替换成 192.168.200.254 之后再从 B2 网卡出去?
1
xduanx 2019-08-31 16:56:07 +08:00 via iPhone 2
1,A 和 C 上写到对方的路由,B 开启转发,就可以实现你的目标
2,iptables 和路由没关系,不用做 nat 3,有什么问题,我懂,随便问 |
3
HarveyLiu 2019-08-31 18:09:29 +08:00 via Android
走 udp 的协议,你要确保所有转发的服务器都没 qos
|
4
linmq 2019-08-31 18:24:16 +08:00 via iPhone
看起来你要把三个地方组成一个大局域网。买三个路由器组成 site to site 就行了 https://docs.gl-inet.com/en/3/app/cloud/
|
5
Unknowncheats 2019-08-31 18:29:58 +08:00 via Android
參考 full cone nat
|
6
GetWoke OP @HarveyLiu 肯定没有 QOS,现在我不是纠结有没有 QOS 的问题,我只是想让两个 wireguard 互相通信就行了,只要能通就可以
|
7
GetWoke OP @linmq 没有路由器,也无法使用路由器,只能用 wireguard 或者 Open***之前使用 Open***在二层转发能通,但是效率太低。
|
8
GetWoke OP @Unknowncheats 跟 NAT 类型没关系把,我只是要转发数据而已,只要在网络层打通了 就是局域网了
|
9
Unknowncheats 2019-08-31 18:49:55 +08:00 via Android
@GetWoke NAT 通了,vpn 內機器能和外網互相訪問,不需要端口轉發
|
10
gefranks 2019-08-31 18:57:59 +08:00 1
假设你 A->B1, C->B2 都是能 ping 通了.
B 上开 IP 转发,检查各个机器上的回程路由. 不需要 iptables 参与路由 ,但是需要 iptables 放行这些数据包, FORWORD 链上有时候要显式允许 wireguard 这种类似于 NBMA 网络的,请注意子网掩码的范围,不是 /24 一把梭就行的 在网络的出口上做 IP masquerade NAT 就行 |
11
AnyISalIn 2019-08-31 19:14:11 +08:00 via iPhone 1
|
12
artoostark 2019-08-31 22:36:08 +08:00
wireguard 太弱 ji 了,从网上找的十几个免费配置,试了一次就挂了。
|
13
slanternsw 2019-09-01 01:49:00 +08:00
@artoostark out of topic.
|
14
lifengdp 2019-09-01 02:35:44 +08:00
|
15
hawhaw 2019-10-14 19:49:04 +08:00 via Android
多看官方文档,wireguard 跟 iptables 一毛钱关系都没有
|
16
hawhaw 2019-10-14 20:07:27 +08:00 via Android
你这情况,如果 ip 是真的的话,完全可以用一条 wireguard 隧道直接联通 B 和 C
|
17
yujiaxin 2020-04-27 08:42:51 +08:00
有没有办法让两个 nat 后面的 peer A 、B,借助一个有公网 ip 的 peer C 实现直连,而不用通过 C 转发?
|
18
Huelse 2021-01-22 20:02:39 +08:00
你好,我想用 A (笔记本)通过 C (公网 server )访问 B (家里的 unraid )的服务 peers 要分别怎么设置呀?
/t/747297 尝试了很多次,都只能在 C 访问 B 的服务,A 只能 ping 通 B 但访问不到资源,如: http://B:80 |
19
yangchuansheng33 2021-03-02 21:00:46 +08:00
|