系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > OpenWRT路由配置

配置OpenWRT路由的方法详解(2)

时间:2014-12-19 17:57:55 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141219/33067.html 手机查看 评论

  3.配置 DNS

  a.创建 /etc/config/sec_resolv.conf

  vim /etc/config/sec_resolv.conf  填入以下 DNS Servers:

  代码如下:

  nameserver 8.8.8.8

  nameserver 8.8.4.4

  nameserver 208.67.222.222

  b.编辑 /etc/config/dhcp

  vim /etc/config/dhcp  找到 option resolvfile 选项,替换为:

  option resolvfile ‘/etc/config/sec_resolv.conf’

  4.配置 PPTP

  a.安装 ppp-mod-pptp

  代码如下:

  opkg update

  opkg install ppp-mod-pptp

  如果需要 LuCI 支持(推荐):

  opkg install luci-proto-ppp

  b.配置 vpn 接口,编辑 /etc/config/network 文件,应该已经有以下内容(如果没有,需要插入),并配置里面的 server、username 和 password:

  代码如下:

  config ‘interface’ ‘vpn’

  option ‘ifname’ ‘pptp-vpn’

  option ‘proto’ ‘pptp’

  option ‘username’ ‘vpnusername’

  option ‘password’ ‘vpnpassword’

  option ‘server’ ‘vpn.example.org or ipaddress’

  option ‘buffering’ ‘1’

  c.进入 Network -》 Firewall ,把 vpn 加入 wan zone,效果如图:

 配置OpenWRT路由的方法详解

  d.进入 Network -》 Interfaces ,此时应该已经可以看到 VPN Interface 并可以连接,效果如图:

 配置OpenWRT路由的方法详解

  e.此时在本机 traceroute www.google.com,应该能得到类似以下的结果:

  代码如下:

  FL-MBP:~ fatlyz$ traceroute www.google.com

  traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.113

  traceroute to www.google.com (74.125.239.113), 64 hops max, 52 byte packets

  fc_r0.lan (192.168.7.1) 2.266 ms 0.999 ms 0.946 ms

  10.7.0.1 (10.7.0.1) 189.259 ms 187.813 ms 188.368 ms

  23.92.24.2 (23.92.24.2) 189.847 ms 190.489 ms 188.939 ms

  10ge7-6.core3.fmt2.he.net (65.49.10.217) 188.508 ms 192.216 ms 202.863 ms

  10ge10-1.core1.sjc2.he.net (184.105.222.14) 195.695 ms 195.691 ms 284.242 ms

  72.14.219.161 (72.14.219.161) 189.196 ms 192.287 ms 193.220 ms

  216.239.49.170 (216.239.49.170) 192.496 ms 188.547 ms 189.881 ms

  66.249.95.29 (66.249.95.29) 190.125 ms 190.335 ms 190.026 ms

  nuq05s01-in-f17.1e100.net (74.125.239.113) 189.804 ms 190.556 ms 190.242 ms

  可以看出,其中第二跳是 VPN 的网关,而 traceroute www.baidu.com 的话第二跳应该也是同样的结果。

  这时已经可以访问 Google, Baidu 等国内外的站点了。

  5.配置 chnroutes

  a.到 chnroutes 项目的下载页面:https://chnroutes-dl.appspot.com/ 下载 linux.zip,解压

  b.把 ip-pre-up 重命名为 chnroutes.sh,打开编辑,在 if [ ! -e /tmp/vpn_oldgw ]; then 前插入以下代码,以避免 ppp 连接脚本重复执行导致重复添加路由表项:

  代码如下:

  if [ $OLDGW == ‘x.x.x.x’ ]; then

  exit 0

  fi

  其中 x.x.x.x 是 VPN 的网关,可以先本机连接上去之后查看一下网关地址。

  c.ssh 连接到路由器,执行以下命令:

  代码如下:

  cd /etc/config/

  mkdir pptp-vpncd pptp-vpnvim chnroutes.sh

  在 vim 中把编辑好的 chnroutes.sh 粘贴进去(当然也可以通过 ssh 直接把 chnroutes.sh 文件传过去,或者上传到某个地方再 wget 下载)

  执行以下命令,设置权限为可执行:

  chmod a+x chnroutes.sh

  d.用 vim 编辑 /lib/netifd/ppp-up 文件:

  vim /lib/netifd/ppp-up

  在 [ -d /etc/ppp/ip-up.d ] && { 这一行前插入以下内容,确保 ppp 连接脚本能够被执行:

  sh /etc/config/pptp-vpn/chnroutes.sh

  e.重启路由,启动好之后,进入 LuCI 查看接口状态,等 WAN 和 VPN 都连接成功后,ssh进去,执行 route -n | head -n 10 ,效果应该类似这样:

  代码如下:

  root@FC_R0:/etc/config# route -n | head -n 10

  Kernel IP routing table

  Destination Gateway Genmask Flags Metric Ref Use Iface

  0.0.0.0 10.7.0.1 0.0.0.0 UG 0 0 0 pptp-vpn

  1.0.1.0 58.111.43.1 255.255.255.0 UG 0 0 0 pppoe-wan

  1.0.2.0 58.111.43.1 255.255.254.0 UG 0 0 0 pppoe-wan

  1.0.8.0 58.111.43.1 255.255.248.0 UG 0 0 0 pppoe-wan

  1.0.32.0 58.111.43.1 255.255.224.0 UG 0 0 0 pppoe-wan

  1.1.0.0 58.111.43.1 255.255.255.0 UG 0 0 0 pppoe-wan

  1.1.2.0 58.111.43.1 255.255.254.0 UG 0 0 0 pppoe-wan

  1.1.4.0 58.111.43.1 255.255.252.0 UG 0 0 0 pppoe-wan

  其中 Destination 为 0.0.0.0 的是默认路由,网关为 VPN 网关,意味着默认流量都经过 VPN,而以下的条目则把目的为国内的网段都指向了 ISP 提供的网关。

  至此 PPTP VPN 和 chnroutes 已经配置完毕。

  6.配置 VPN 断线自动重连

  a.创建 /etc/config/pptp-vpn/status-check.sh:

  vim /etc/config/pptp-vpn/status-check.sh

  在 vim 中粘贴以下内容(此脚本检测 VPN 连接状态,并在断线后会断开 WAN 和 VPN 接口,10秒后重新连接 WAN,并在 30 秒后重连 VPN):

  代码如下:

  #!/bin/sh《/p》 《p》if [ -f “/tmp/vpn_status_check.lock” ]

  then

  exit 0

  fi《/p》 《p》VPN_CONN=`ifconfig | grep pptp-vpn`《/p》 《p》if [ -z “$VPN_CONN” ]

  then

  touch /tmp/vpn_status_check.lock

  echo WAN_VPN_RECONNECT at: 》》 /tmp/vpn_status_check_reconn.log

  date 》》 /tmp/vpn_status_check_reconn.log《/p》 《p》 ifdown vpn

  ifdown wan

  sleep 10

  ifup wan

  sleep 30

  ifdown vpn

  sleep 10

  ifup vpn

  sleep 40

  rm /tmp/vpn_status_check.lock《/p》 《p》else

  date 》 /tmp/vpn_status_check.log

  fi

  执行以下命令,设置权限为可执行:

  chmod a+x /etc/config/pptp-vpn/status-check.sh

  b.进入LuCI 的 System -》 Scheduled Tasks 填入以下内容,并保存:

  */1 * * * * /etc/config/pptp-vpn/status-check.sh

  以上实际上是编辑了 cron 配置,cron 每分钟运行检测 / 重连脚本,重启 cron:

  /etc/init.d/cron restart

  c.静待几分钟,查看 /tmp 目录,应该能看到 vpn_oldgw 和 vpn_status_check.log 文件,查看 vpn_status_check.log 文件,可以看到最近一次检测 VPN 连接状态的时间。

  代码如下:

  root@FC_R0:/tmp# ls vpn*

  vpn_oldgw vpn_status_check.log

  root@FC_R0:/tmp# cat vpn_status_check.log

  Tue Jul 15 00:04:02 HKT 2014

  root@FC_R0:/tmp#

  你可以在 LuCI 中断开 VPN 接口,在接下来的4-5分钟,观察 WAN 和 VPN 的重连情况。

  d.分别 traceroute www.google.com 和 www.baidu.com ,观察第二跳的地址:

  代码如下:

  FL-MBP:~ fatlyz$ traceroute www.google.com | head -n 3

  traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.115

  traceroute to www.google.com (74.125.239.115), 64 hops max, 52 byte packets

  fc_r0.lan (192.168.7.1) 2.161 ms 0.912 ms 0.895 ms

  10.7.0.1 (10.7.0.1) 193.747 ms 187.789 ms 289.744 ms

  23.92.24.2 (23.92.24.2) 259.323 ms 354.625 ms 408.535 ms

  代码如下:

  FL-MBP:~ fatlyz$ traceroute www.baidu.com | head -n 3

  traceroute to www.a.shifen.com (180.76.3.151), 64 hops max, 52 byte packets

  1 fc_r0.lan (192.168.7.1) 1.190 ms 0.984 ms 0.731 ms

  2 58.111.43.1 (58.111.43.1) 20.616 ms 38.822 ms 18.484 ms

  3 183.56.35.133 (183.56.35.133) 20.056 ms 52.353 ms 87.841 ms

  可以看出,已成功对国内外的目标地址进行了路由选择。

  至此,OpenWRT 路由的基本配置、PPTP VPN、chnroutes 和自动重连已经配置完成。

  上面就是OpenWRT 路由配置的方法介绍了,如果你要给OpenWRT 配置路由的话,不妨试试本文介绍的方法,希望对你有所帮助。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

热门教程

人气教程排行

Linux系统推荐

官方交流群 软件收录