Last active
May 29, 2023 02:19
-
-
Save willwhui/1febd37a3dd79a503cc8544c3bb18ece to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
在Openwrt中配置Openvpn客户端 |
安装和配置文件
ssh [email protected] 到路由器,开始安装
# 更新源,如果被屏蔽了,更新不了,就要想办法在局域网里面搭建一个源 opkg update # 安装以下2个包中的一个,装的上哪个装哪个 # opkg install openvpn-openssl # opkg install openvpn-polarssl # 我装了openvpn-polarssl opkg install openvpn-polarssl
然后:
# 创建配置文件 vi /etc/openvpn/my-vpn.ovpn
并将以下内容贴入:
dev tun proto udp remote xxx.xxx.xxx.xxx yyyy <---这里的xxx.xxx.xxx.xxx是open vpn服务器的域名或地址,yyyy是端口号 resolv-retry infinite nobind persist-key persist-tun ca /etc/openvpn/ca.crt cert /etc/openvpn/client.crt key /etc/openvpn/client.key ns-cert-type server comp-lzo verb 3 sndbuf 0 rcvbuf 0 mute 20
然后从open vpn的服务器上获取ca.crt, client.crt, client.key,放入路由器的/etc/openvpn目录中
获取方式参考https://github.com/martincai/blogs/blob/master/openwrt%2Bopenvpn%2Bazure.md
最后,输入以下命令接入vpnopenvpn --cd /etc/openvpn --config /etc/openvpn/my-client.ovpn &
针对有用户名密码验证的openvpn server:
openvpn --cd /etc/openvpn --config /etc/openvpn/my-client.ovpn --auth-user-pass userpass.txt &
其中userpass.txt的内容为:
<username>
<password>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
如何配置网站分流
网上可以搜索到一些方法,但我是vpn+ss一起,怎么搞?还不知道。
几个问题先搞清楚,也许有帮助:
为什么除了路由器,其他客户端的ping功能都是失效了
PING baidu.com (111.13.101.208) 56(84) bytes of data.
From OpenWrt.lan (192.168.1.1) icmp_seq=1 Destination Port Unreachable
原因未知,莫非是墙也不准从外向内访问了?
opewwrt 设置的vpn和ss同时起效了吗?
安装vnstat,运行
vnstat -l
命令,查看实时流量。访问视频网站,发现实时流量变大。为dnsmasq设置的免翻墙dns域名列表起作用么吗?
经测试,不起作用。都被openvpn包了。
以上情况说明:最终的访问目标认为是ss服务器在访问它,而vpn确实在包裹这些流量。
综上可推断,vpn和ss同时起效的方式是这样的:
(另,显然,如果访问目标不是需要翻墙,则不走ss-tunnel,直接被vpn包装,从vpn的服务器发起对目标的访问)
可见dnsmasq和防火墙设置,是优先级较高的动作。
因此,改进的方式是:vpn仅接管流向ss服务器ip的流量,因为这样就已经包住了所有的翻墙流量。
搜索后找到了解法:
http://liwenhn.blog.51cto.com/854522/1845253
sudo vi /etc/openvpn/server.conf
push "redirect-gateway def1"
如果是按照之前的教程做的服务端,可能在末尾有这样一行。配置文件中部也有一行同样的,需要都确保注释。
这一行的意思是:客户端流量全都转发(这里有个问题:那么前面配置的客户端防火墙转发有意义吗?)
;push "route 192.168.20.0 255.255.255.0"
这两行注释将它们取消注释,并改成这样
sudo service openvpn restart
成功了
路由器里面/etc/dnsmasq.d/的配置文件中指定不要走ss的域名都可以快速访问了
有时间可以测试一下:
在dnsmasq中把一个需要翻墙的网址设定为不必出去解析。
应该会导致这个网址被ss和vpn略过,而无法访问。
其他方法参见如下,没试过:
https://blog.sorz.org/p/openwrt-outwall/
https://zohead.com/archives/openwrt-openvpn-ipset/