海运的博客

Openwrt配置Openvpn客户端自动路由

发布时间:August 4, 2012 // 分类:OpenWrt // 3 Comments

Openvpn服务器端配置去除push默认路由参数,后续可对指定IP走Openvpn路由,毕竟访问大多数IP是国内的。

#http://www.haiyun.me
#push "redirect-gateway

Openvpn安装:

opkg update
opkg install openvpn

OpenWRT下openvpn客户端配置文件:

client
dev tun 
proto udp
remote  1.1.1.1 1194
persist-key 
persist-tun 
ca ca.crt 
cert client1.crt 
key client1.key 
ns-cert-type server 
comp-lzo 
verb 3 

连接Openvpn服务器:

openvpn client.conf
Sat Aug  4 11:17:21 2012 ROUTE default_gateway=192.168.1.1
Sat Aug  4 11:17:21 2012 TUN/TAP device tun0 opened
Sat Aug  4 11:17:21 2012 TUN/TAP TX queue length set to 100
Sat Aug  4 11:17:21 2012 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Sat Aug  4 11:17:21 2012 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.5
Sat Aug  4 11:17:21 2012 Initialization Sequence Completed

后台以进程方式启动OpenVPN:

openvpn --cd /etc/openvpn --daemon --config client.conf

设置指定IP或IP段走OpenVPN:

route add -host 184.164.141.188 dev tun0 
route add -net 1.1.1.0/24 dev tun0

或者直接由Openvpn服务器端push客户端路由:

push "route 184.164.141.188 255.255.255.255"
push "route 1.1.10 255.255.255.0"

Openwrt下客户端走Openvpn还要设置iptables地址转换并指定出口网卡:

iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -d 184.164.141.188 -o tun0 -j MASQUERADE

也可下载国家IP数据库走Openvpn,不过这个数据有点庞大,进一步可使用iptables geoip模块标记数据包并走策略路由。

wget http://www.ipdeny.com/ipblocks/data/countries/us.zone
for ip in `cat us.zone`
do
route add -net $ip dev tun0
done
分类
最新文章
最近回复
  • 海运: 正常情况下编译整个内核执行make menuconfig后就不会出现此提示,当单独编译单个模块...
  • oijq: 就是用的armbian的配置文件哈,按你的教程做的,在执行make LOCALVERSION=...
  • 海运: 使用armbian的配置文件,其它添加或修改自己懂的部分,不懂的就不要碰了。
  • oijq: 编译时这些选项全部选Y吗?Actions Semi Platforms (ARCH_ACTIO...
  • 海运: n1编译bbr内核模块参考这个:https://www.haiyun.me/archives/...
  • jiqz: make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules编...
  • ruralhunter: 哦,文档里应该是对的,是.config
  • ruralhunter: cp /mnt/boot/config-4.18.7-aml-s9xxx .config这里应...
  • 海运: 你是编译不成功呢?还是编译后不能运行呢?还是运行后不能访问web界面呢?
  • 白墨: 可能不清楚就是编译安装后启动后访问不了web界面