由于需要在本地虚拟机编译openwrt固件,编译期间需要不断下载依赖,由于GFW的存在,会造成编译的失败,所以需要编译虚拟机连接VPN
虚拟机系统为CentOS6,以连接PPTP为例
首先安装pptp客户端:
yum install pptp pptp-setup
创建VPN连接:
pptpsetup --create myvpn --server 123.456.789.123 --username vpnuser --password 123456 --encrypt #这
里创建了一个名为myvpn的VPN连接
如果出现 FATAL: Module ppp_mppe not found. 错误,需注册模块:
modprobe ppp_mppe
连接VPN
pppd call myvpn
验证是否连接:
ip a |grep ppp
如果没有信息,则连接失败,需参考/var/log/message排错
连接成功后,如需访问VPN服务器的其他客户端,添加路由:
route add -net 192.168.0.0 netmask 255.255.255.0 dev ppp0 #192.168.0.0为VPN服务器内网网段
如需全部流量通过VPN,在连接VPN成功后添加路由:
ip route replace 123.456.789.123 via 192.168.1.1 dev eth0 src 192.168.1.188 #123.456.789.123为VPN服务器ip,192.168.1.1为虚拟机网关(由于虚拟机使用的桥接,所以也是我的路由器地址),192.168.1.188虚拟机的ip
ip route replace default dev ppp0
当断开VPN后,也需要删除路由:
ip route del 123.456.789.123 via 192.168.1.1 dev eth0 src 192.168.1.188
ip route add default via 192.168.1.1
ppp还提供了更方便的方式来连接和断开VPN:
cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon
chmod +x /usr/sbin/poff
pon myvpn #连接VPN
poff myvpn #断开VPN
我这里也写了一个脚本来整合VPN的连接和断开,每次就不用设置路由了,使用前根据情况修改ip即可
vpnstart脚本:
#!/bin/bash
/usr/sbin/pon myvpn
echo "Ok! Change route now!"
sleep 5
/sbin/ip route replace 123.456.789.123 via 192.168.1.1 dev eth0 src 192.168.1.188
ip route replace default dev ppp0
echo "Successful! VPN is start!"
vpnstop脚本:
#!/bin/bash
/usr/sbin/poff myvpn
echo "Wait! Change route now!"
sleep 5
/sbin/ip route del 123.456.789.123 via 192.168.1.1 dev eth0 src 192.168.1.188
/sbin/ip route add default via 192.168.1.1
echo "Successful! VPN is stop!"
原神祈愿模拟器最新版
原神祈愿模拟器手机版是一款完整汉化的趣味原神抽卡模拟小游戏,
宝宝森林美食完整版
宝宝森林美食游戏最新版是一款十分有趣的休闲益智游戏,帮助宝宝
g沙盒仇恨官方英文版(gorebox)
G沙盒仇恨英文原版是一款最近非常火热的沙盒模拟类游戏,在这里
迷你世界测试服最新版2024
迷你世界测试服2021最新版,即迷你世界的先遣服版本,用户能
闪耀暖暖最新版2024
闪耀暖暖手游这是非常好玩的换装手游,游戏内容丰富有趣,游戏环