2020年2月22日星期六

OpenWrt+OpenVPN建立翻墙路由器

以下内容为使用OpenWrt+OpenVPN建立翻墙路由器的简要介绍。

先把路由器刷OpenWrt固件,OpenWrt所支持的设备列表:
https://openwrt.org/supported_devices

[通过Web控制台对路由器管理操作]
[System/Administration]
设置root密码
修改dropbear接口为lan

[Network/Wireless]
修改wifi热点名,密码
启用wifi

[Network/Interfaces]
WAN - Edit
Advanced Settings
取消勾选 - Use DNS servers advertised by peer
Use custom DNS servers
8.8.8.8
8.8.4.4

LAN - Edit
Use custom DNS servers
8.8.8.8
8.8.4.4


[通过ssh方式连接路由器后操作] 红色字符请调整成你的设置内容
//下载并安装openvpn client
opkg update && opkg install openvpn-openssl luci-app-openvpn openssl-util

//设置openvpn所使用的端口
uci set network.vpnclient="interface"
uci set network.vpnclient.ifname="tun0"
uci set network.vpnclient.proto="none"
uci commit network && service network restart

//防火墙规则
uci add firewall zone
uci set firewall.@zone[-1].name="vpnclient"
uci add_list firewall.@zone[-1].network="vpnclient"
uci set firewall.@zone[-1].input="REJECT"
uci set firewall.@zone[-1].output="ACCEPT"
uci set firewall.@zone[-1].forward="REJECT"
uci set firewall.@zone[-1].masq="1"
uci set firewall.@zone[-1].mtu_fix="1"
uci add firewall forwarding
uci set firewall.@forwarding[-1].src="lan"
uci set firewall.@forwarding[-1].dest="vpnclient"
uci commit firewall && service firewall restart

//启用openvpn
uci set openvpn.vpnclient="openvpn"
uci set openvpn.vpnclient.enabled="1"
uci set openvpn.vpnclient.config="/etc/openvpn/vpnclient.ovpn"
uci commit openvpn && service openvpn restart

//通过web下载方式导入openvpn的配置文件.ovpn(不需要用户名密码方式)
//请将配置文件上传至任意一台web服务器。因为服务器可能不支持下载.ovpn文件类型,所以以下示例将.ovpn文件改为.txt文件后缀,不影响导入效果
//一次性操作,下载成功后,web服务器中的.txt配置文件可删除
wget --no-check-certificate -O /etc/openvpn/vpnclient.ovpn "http://www.example.com/openvpn-profile.txt"

//通过web下载方式导入openvpn的配置文件.ovpn(需要用户名密码方式)
//请将配置文件上传至任意一台web服务器。因为服务器可能不支持下载.ovpn文件类型,所以以下示例将.ovpn文件改为.txt文件后缀,不影响导入效果
//一次性操作,下载成功后,web服务器中的.txt配置文件可删除
wget --no-check-certificate -O /etc/openvpn/vpnclient.ovpn "http://www.example.com/openvpn-profile.txt"
sed -r -i "
s:^(auth-user-pass).*:\1 /etc/openvpn/vpnclient.auth\nauth-nocache:
s:^(redirect-gateway).*:\1 def1:
" /etc/openvpn/vpnclient.ovpn
cat << "EOF" > /etc/openvpn/vpnclient.auth && chmod 600 /etc/openvpn/vpnclient.auth
vpn-username
vpn-password
EOF

//开启openvpn服务
service openvpn restart

//读取openvpn日志可选操作,如果openvpn不能正常启用则通过此来排查原因
logread -e openvpn





没有评论:

发表评论