教育网内Openwrt路由器使用ipv6线路连接国外OpenVPN上网

好长的标题.好处有两个,学校的ipv6是免费的,而且自带穿墙.

手边需要wifi的设备越来越多了,特别是在入了Motorola defy之后发现寝室没wifi的话流量太大.

支持Openwrt的设备可以在淘宝找到,大亚的DB120或者是贝尔的RG100都可以.ROM要是S29的(据说M29刷机不方便)

下面针对DB-120说明.

openwrt固件:http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm63xx/openwrt-RG100A_DB120-jffs2-128k-cfe.bin

按住reset开机,直到红灯常亮,Lan4与电脑相连,电脑ip 192.168.1.2,浏览器载入192.168.1.1进入刷机页面(RG100需要一个刷机密码请自行Google),载入上述固件.

等待5分钟左右(重启完毕+一些时间),电脑与lan1口相连,lan4口接外网.

电脑浏览器载入192.168.1.1,空密码进入,进行基本配置(wan口ip地址,wifi设置,root密码)

在终端(windows下载putty)下,连接root@192.168.1.1(此时要保证能访问国外网站)

opkg update
opkg install kmod-ipv6 ip kmod-ip6tables ip6tables openvpn-devel
opkg install ntpdate
ntpdate pool.ntp.org

修改/etc/firewall.user,增加:

iptables -I FORWARD -o tun+ -j ACCEPT
iptables -I FORWARD -o eth+ -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.1/24 -j MASQUERADE

将openvpn的证书及ovpn配置文件通过scp复制进路由器的/etc/openvpn

把学校提供的外网连接关闭,尝试是否现在openvpn还能够联通?

Nginx下Dabr+itap的配置

主要就是nginx的rewrite要自己写一下.

dabr放在"/dabr",itap在"/dabr/itap"

nginx的rewrite规则

   location /itap/ {
      if (!-e $request_filename) {
         rewrite . /itap/index.php last;
      }
   }
 
   location / {
      if (!-e $request_filename) {
         rewrite ^/(.*)$ /index.php?q=$1 last;
      }
   }

/dabr/common/user.php

$authorise_url = 'http://example.com/dabr/itap/authorize?oauth_token='.$token['oauth_token'];

ipv6环境下OpenVPN的ip6tables规则设置

主机开启了ipv4和ipv6环境下的OpenVPN服务,iptables对于INPUT和FORWARD默认采取DROP规则

iptables配置如下,###的部分需要特别注意.(快一个小时被浪费在这上面OTL)

有一种说法是说这个主机的ipv6环境是基于ipv6tunnel上搭建的,但是这个主机是通过一个ipv6网关对外访问的,为什么仍然必须要让ipv6这种包通过呢?
iptables -A INPUT -p ipv6 -j ACCEPT
ip6tables -A INPUT -p ipv6 -j ACCEPT

今天试了一下确实是不需要的,搞错了,只要icmpv6能通过就可以了

iptables -A INPUT -i lo -j ACCEPT
ip6tables -A INPUT -i lo -j ACCEPT
 
iptables  -A INPUT -p all -m state --state RELATED,ESTABLISHED -j ACCEPT
ip6tables -A INPUT -p all -m state --state RELATED,ESTABLISHED -j ACCEPT
 
iptables  -A INPUT -i tun+ -j ACCEPT
iptables  -A FORWARD -i tun+ -j ACCEPT
ip6tables -A INPUT -i tun+ -j ACCEPT
ip6tables -A FORWARD -i tun+ -j ACCEPT
 
##########
ip6tables -A INPUT -p icmpv6 -j ACCEPT
##########
 
iptables  -A INPUT -p udp --dport 1194 -j ACCEPT
ip6tables -A INPUT -p udp --dport 1194 -j ACCEPT
 
iptables  -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables  -t nat -A POSTROUTING -s 10.8.10.0/24 -o eth0 -j MASQUERADE
 
iptables -A INPUT -s 10.8.10.0/24 -p all -j ACCEPT
iptables -A FORWARD -d 10.8.10.0/24 -j ACCEPT
iptables -A INPUT -s 10.8.0.0/24 -p all -j ACCEPT
iptables -A FORWARD -d 10.8.0.0/24 -j ACCEPT

Hello world!

欢迎使用 WordPress。这是系统自动生成的演示文章。编辑或者删除它,开始您的博客!

收了一个128M的VPS用来搭建HTTP和VPN服务.

LNMP架构,用的是www.lnmp.org这里的安装包.

内存的话,把php-cgi的并发数减小至2,速度还是可以承受的.

不准备导入之前的日志.寒假再开始整理东西好了.

接下来专心考试OTL.

用了一个晚上配置这个好有罪恶感.= =..

测试下代码插件

def checkalert(html):
    regex=ur"alert\(.+\)"
    match = re.search(regex,html)
    if match:
        result = match.group()
    else:
        result = ""
    print result