openvpn 服务端如何设置代理

2023-09-09 23:16:40 +08:00
 Jamy

我现在有一台国内的手机通过 open vpn 连接到了国外的 openvpn@server 现在想在 openvpn@server 的服务器上对所有的来自 openvpn 的流量启用透明代理, 使得手机检测 ip 的时候是代理服务器的 ip 。 请给位大佬给点意见。

2270 次点击
所在节点    Linux
13 条回复
cdlnls
2023-09-09 23:36:46 +08:00
我的理解是,给客户端设置默认路由就可以了吧,然后服务端开 ip_forward 和配置 nat 。
thsun
2023-09-09 23:56:34 +08:00
直接設轉發內網 ip 和 nat 那樣咯,如樓上所說
Jamy
2023-09-09 23:57:55 +08:00
@cdlnls
我也是那么想的,于是本机搭建了一个 redsocks 服务器,开了端口 31338 ,redsocks 会把数据发往配置的代理服务器,
然后执行
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to 127.0.0.1:31338
然后用 curl 测试下,本机的请求可以走代理,但是 vpn 上来的不行。
对于 iptables 理解仅限于常规的使用,实在搞不懂啊。求大佬指点迷津
Jamy
2023-09-09 23:59:16 +08:00
@Jamy
也测试这个命令
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 31338
vpn 上来的还是无效。
ltkun
2023-09-10 07:05:20 +08:00
国内连国外 openvpn 这种通用协议过不了 gfw 吧 得换其他
defunct9
2023-09-10 07:12:28 +08:00
开 ssh ,让我上去配
a33291
2023-09-10 08:29:36 +08:00
感觉 softether 的 nat 更方便
flyqie
2023-09-10 08:30:56 +08:00
@defunct9 #6

不用先看看再配? doge
Jamy
2023-09-10 09:36:01 +08:00
@ltkun 这一层已经通过 openvpn 客户端里设置代理连接到服务器了。
busier
2023-09-10 13:54:31 +08:00
你都已经搞定 openvpn 连接了,可以说完成 90%了。剩下就是 sysctl 开个 ip_forward 和 iptables 的 nat 表的 POSTROUTING 链设个 MASQUERADE 就搞定的事情......
Jamy
2023-09-10 14:40:36 +08:00
@busier 就是这个 nat 搞不定啊,太难了
n1cogrv
2023-09-10 16:46:48 +08:00
push "redirect-gateway local def1"
push "dhcp-option DNS 8.8.8.8"

https://openvpn.net/community-resources/how-to/#pushing-dhcp-options-to-clients:~:text=cause%20all%20IP%20network%20traffic%20originating%20on%20client%20machines%20to%20pass%20through%20the%20OpenVPN%20server

@Jamy #11

试试用 v2raya 对 server 进行透明代理,再保证 client 的所有网络流量都经过 server ,这时就可以确保 client -> server -> server_tproxy
defunct9
2023-09-12 10:13:00 +08:00
@flyqie openvpn 实在是太熟了,简直是被迫成为专家了。上去就配

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

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

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

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

© 2021 V2EX