我家里有一台 Ubuntu 的服务器,我想在外网连接到服务器上去,想使用 WireGuard ,家中网络有公网 IP
现在服务器已经安装好了 WG ,外网也能连上去了,但是目前的配置是外网终端的所有流量都走 WG 了,如果我想外网终端只有访问家里服务器的时候才走 WG ,其他流量还走原有网络,应该怎么设置?
以下是我的外网终端配置:UBUNTU 服务器的 WG 地址是 192.168.190.1
[Interface] PrivateKey = XX Address = 192.168.190.2/32 DNS = XX
[Peer] PublicKey = XX PresharedKey = XX AllowedIPs = 0.0.0.0/0 (这里我尝试过改成 192.168.190.0/24 ,这样确实流量走原有网络了,然而并 ping 不通 192.168.190.1 ) Endpoint = XX
具体应该怎么修改设置或者做其他的配置呢?
1
dcty 2022-08-05 09:47:40 +08:00 via Android 1
有公网直接弄个 ss 也行
|
2
blueboyggh OP @dcty ss 的话,我外网终端还要科学的,会冲突吧
|
3
dcty 2022-08-05 09:58:47 +08:00
@blueboyggh #2
不会的,直接分流就好了。 DOMAIN,google.com,翻墙节点 .... IP-CIDR 192.168.0.0/16,SS_Home IP-CIDR 10.0.0.0/8,SS_Home IP-CIDR 172.16.0.0/12,SS_Home |
4
blueboyggh OP @dcty 谢谢,我用的是 V2ray ,而且是浏览器插件分流的,所以 SS 这种可能还是不太适合我
|
5
dcty 2022-08-05 10:08:17 +08:00
|
6
blueboyggh OP @dcty 嗯,我明白,主要是我怕配置错了,然后国内流量也科学了
|
7
yyysuo 2022-08-05 10:18:14 +08:00 1
你家里的分流规则做好,在内网的任意一台设备上搞个 wireguard ,就算所有的流量都回家,也是分流好的啊。我现在就直接用 vpn 回家。
|
8
blueboyggh OP @yyysuo 所有流量都回家,我外网终端访问互联网就要绕一次家里,速度就慢了啊
|
9
SenLief 2022-08-05 10:26:14 +08:00
没太看懂,你家里用公用 IP ,那直接用外网的链接服务器不就好了嘛?外网和家里没必要打隧道吧。
|
10
6IbA2bj5ip3tK49j 2022-08-05 10:30:58 +08:00 1
allowed ips 那儿填写你 ubuntu wg ip 和内网网段。
举例: allowed ips: 192.168.255.1/32, 192.168.2.0/24, |
11
spirit1002 2022-08-05 10:35:39 +08:00 1
`这里我尝试过改成 192.168.190.0/24 ,这样确实流量走原有网络了,然而并 ping 不通 192.168.190.1 )`
同时要把上面的 Address 从 192.168.190.2/32 改成 192.168.190.2/24 |
12
blueboyggh OP @SenLief 主要是我还想连上家里的 NAS
|
13
SenLief 2022-08-05 10:52:59 +08:00 1
@blueboyggh 你家里有公网 ip ,那只需要在路由器配置 upnp 或者自己端口映射就可以了。
|
14
Tink 2022-08-05 10:54:43 +08:00 via Android 1
路由表有点问题吧,应该是你家里内网的路由信息在最上面,然后指定下一跳走 wireguard ,其他的路由信息在这个后面,默认就行
|
15
mcluyu 2022-08-05 11:04:04 +08:00 1
建议把 WG 的子网和你的服务器局域网分开网段, 我之前也是全设一个网段没搞通,不一定是这个问题但是可以试一下, 我的客服端配置:
[Interface] PrivateKey = XXX Address = 10.10.10.2/32 DNS = 114.114.114.114 [Peer] PublicKey = XXXX PresharedKey = XXXX AllowedIPs = 192.168.31.0/24, 10.10.10.1/24 Endpoint = XXXX PersistentKeepalive = 25 |
16
blueboyggh OP @SenLief 端口映射的话,SMB 共享用不了,又不想把 SMB 暴露到公网
|
17
blueboyggh OP @spirit1002 好像可以了,感谢!
|
18
yyysuo 2022-08-05 11:17:37 +08:00
@blueboyggh wireguard 就是全局的,配规则很麻烦,所以建议你用 ss 或者 v2ray 什么的,默认的规则就可以。
|
19
villivateur 2022-08-05 11:32:03 +08:00 1
服务端有个 Route Allowed IPs 选项,如果客户端要访问同一个服务器的其他网段,建议也开一下
|
20
me221 2022-08-05 11:41:55 +08:00 1
AllowedIPs = 你的 wg 网段,你的家庭网段
就可以了 WireGuard 组网教程: https://www.procustodibus.com/blog/2020/11/wireguard-point-to-site-config |
21
yohole 2022-08-05 12:04:42 +08:00 1
你这个问题我这两天刚解决了,看下我说的对不对
1.wireguard 只能解决都有有安装 wireguard 软件的终端组网,形成一个局域网,任何没有安装 wireguard 客户端的终端想通过公网 IP 访问 wireguard 内网,这个很简单,本身就支持,只需要 iptable 设置端口转发就行 2.如果不在 wireguard 内网的终端想访问 wireguard 内网中,任意一台服务器另外所在的局域网(暂时称为 eth0 网卡所在的网段吧),这个时候可以简单地在有公网 IP 的那台服务器简单搭建一个 SS 或者 tinyproxy 都可以解决 3.然后通过设置 AllowedIPs ,以增加路由表的方式也是可行,但是有很多限制和灵活度不高,有一些需求实现不了,所以我觉得有公网 IP 的话,其实不用 wireguard 都行,直接搭建 SS 之类的就好 |
22
blueboyggh OP @yohole 感谢,用楼上那个把 Address 也改成 /24 的方法已经成功了,不过还是很感谢
|
23
bjfane 2022-08-05 13:55:43 +08:00 1
32 就是一个具体的 ip, 24 就是这个网断, 在 wg 叫 remote access to lan.
|
24
zhixiao 2022-08-05 14:19:35 +08:00 1
我是通过 surge 分流配置的
|
25
pcbl 2022-08-05 14:30:18 +08:00 via Android 1
统一走家里服务器也不算慢(感觉是不慢),顺便还能共用软路由的梯子。
|