rt
crontab
定时随机生成 10000
以上端口号mqtt client
将端口号 推到 公用 free mqtt ,同时重启 wg server
mqtt
实时订阅 port
,reload
本地 wg setconf
#!/bin/bash
port=$(( $RANDOM % 60000 + 10000 ))
mosquitto_pub -h broker_server_ip -t "topic_for_wireguard_port" -m $port -r
sed -i "s/^ListenPort.*/ListenPort\ =\ $port/" /etc/wireguard/wg0.conf
wg-quick down /etc/wireguard/wg0.conf
sleep 2
wg-quick up /etc/wireguard/wg0.conf
exit 0
#!/bin/sh
port=$(mosquitto_sub -h broker_server_ip -t "topic_for_wireguard_port" -C 1)
pre_port=$(cat /etc/wireguard/wg_client.conf | grep Endpoint | awk -F: '{print $2}')
if [ "$port" != "$pre_port" ]
then
sed -i "s/^Endpoint.*/Endpoint\ =\ wg_server:$port/" /etc/wireguard/wg_client.conf
wg setconf wg_client /etc/wireguard/wg_client.conf
fi
1
0o0O0o0O0o 2023-04-01 13:57:41 +08:00 via iPhone
建议在别的专业对抗 GFW 的协议之上运行 wg
|
2
azure2023us OP @0o0O0o0O0o 平时用 ss over tls 。只是用它偶尔解锁 Google vpn pc 端,解锁 nf 。我都限制了 source ip ,无脑 block 的意义何在呢
|
3
0o0O0o0O0o 2023-04-01 14:11:35 +08:00 via iPhone
|
4
zbinlin 2023-04-01 14:18:15 +08:00
我这个就是 https://github.com/zbinlin/wireguard-configuration ,至于效果嘛,一般般,最后只用来配置分流了。
|
5
ETiV 2023-04-01 15:26:26 +08:00 via iPhone
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 12000:15000 -j DNAT --to-destination :8888
用 iptables ,无脑将 udp 端口号 12000~15000 转发给 8888 上 |
6
azure2023us OP @zbinlin 确定我们说的是同一件事吗,我现在用的 wg 是裸奔的,没套任何东西。只是添加随机端口,缓解 block
|
7
zbinlin 2023-04-01 20:19:30 +08:00
@azure2023us 就是随机端口呀,我这个是先配一个固定端口的 wg ,然后通过这个固定端口的通道协商一个随机端口来通信,就连公钥都次都变呢。
|
8
azure2023us OP @zbinlin 大概了解了下,随机端口的获取还是通过已有的线路获取。感觉有点复杂了。我是通过 mqtt ,通过第三方应用告知 client 端 端口号。本地 mqtt 请求是走 ss over tls ,所以,可以确保 mqtt 不被 block 。
不太明白你所的 更换证书是什么意思。wireguard 可以更换 证书?还是获取端口号的服务更换证书? |
9
zbinlin 2023-04-01 20:50:01 +08:00
@azure2023us 是公钥,不是证书,那个随机端口对应的 wg 配置所使用的是一个全新的公私钥对
|
10
emUi998 2023-04-01 22:21:20 +08:00 via iPhone
试试反向连接,国内监听个端口
|
11
YGBlvcAK 2023-04-02 21:56:00 +08:00 via Android
现在都是针对 ip 来限制的,换端口没用,不如搞个备用鸡
|