回家后,用上了那个WRT54G,上了ddwrt+chnroutes+DNSMASQ不能用交大的isatap隧道了,不过Teredo隧道又可以正常稳定的使用,但是发现一些奇怪的问题,比如,使用nslookup可以解析到ipv6.google.com,但是ping,一直提示“Ping request could not find host ipv6.google.com. Please check the name and try again.” 无法解析域名。但是直接ping google的IPV6地址确实是通的。证明IPV6链路正常。
一开始以为是其他隧道的干扰,关闭了其他隧道,还是老样子.而且使用gogo6的Tunnel broker也这样。放Google搜索了半天,找到了这个解释 微软脑残:
http://ipv6-or-no-ipv6.blogspot.com/2009/02/teredo-ipv6-on-vista-no-aaaa-resolving.html
Vista doesn't look up AAAA at all when it's on Teredo. It's intended behavior -- stupid, perhaps, but it's intended. See http://technet.microsoft.com/en-us/library/bb727035.aspx for all the details.
解决方................阅读全文
基本设置过程是一样的 可能原来的那些脚本在V24上有点问题的 自己修正了下脚本
在pptp+jffs(如何初始化?)方案中 run.sh废弃 使用下面的方案设置代替run.sh
launch.sh
#!/bin/sh
#Update by ihipop @ 2011/12/1 21:29
#http://ihipop.info
#This Version is tested and Passed @ dd-wrt.v24-13064_VINT_mega.bin (SP1 Build10020) on Linksys WRT54GS v2.1
VPNUP='vpnup.sh'
VPNDOWN='vpndown.sh'
VPNLOG='/tmp/autoddvpn.log'
#PPTPSRVSUB=$(nvram get pptpd_client_srvsub)
DLDIR='http://autoddvpn.googlecode.com/svn/trunk/'
#CRONJOBS="* * * * * root /bin/sh /tmp/check.sh >> /tmp/last_check.log"
PID=$$
INFO="[INFO#${PID}]"
DEBUG="[DEBUG#${PID}]"
IPUP="/etc/config/pptpd_client.ip-up"
IPDOWN="/etc/config/pptpd_client.ip-down"
WORKING="/jffs/pptp"
echo "$................阅读全文
Debian配置网络参数的时候可以定义一个或者多个PreUp,PostUp,PreDown,PostDown脚本,实现各种需求和功能,也有一个ifup.d 脚本丢下去就可以了,而openSUSE连网后执行的脚本则放在/etc/sysconfig/network/if-up.d/,它们是到/etc/sysconfig/network/scripts/的符号链接。唯独这个特立独行的CentOS/Fedora。只在/etc/sysconfig/network-scripts/{ifdown-post,ifup-post,ifdown,ifup}末尾对/sbin/ifdown-local /sbin/ifup-local /sbin/ifdown-pre-local /sbin/ifup-pre-local进行了简单调用
只能自己补完这系列脚本了
#!/bin/sh
#/sbin/ifup-pre-local
export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin
if [ -z "$1" ]; then
echo $"usage: $0 <ifcf-file>"
exit 1
fi
CFGFILE="/etc/sysconfig/network-scripts/$1"
[ -f "$CFGFILE" ] && . $CFGFILE
FILES="/etc................阅读全文
首先安装ipcalc (CentOS下面的ipcalc和debian下面的不一样,要么你们自己改算法,要么移植吧。)
apt-get install ipcalc
#设置外网接口
dev=wan
#取得文件进行计算
wget http://chnroutes.googlecode.com/files/routes.txt -q -O - |awk '{print $2,$3}' |while read line;
do
ipcalc $line |grep -oP '\d+\.\d+\.\d+\.\d+\/\d{1,2}'
done |awk -v dev=$dev '{print "ip route add dst-address="$1" gateway="dev}'
得到类似
ip route add dst-address=61.47.128.0/18 gateway=wan
ip route add dst-address=61.48.0.0/13 gateway=wan
ip route add dst-address=61.87.192.0/18 gateway=wan
ip route add dst-address=61.128.0.0/10 gateway=wan
ip route add dst-address=61.232.0.0/14 gateway=wan
ip route add dst-address=61.236.0.0/15 gateway=wan
ip route add dst-address=61.240.0.0/14 gateway=wan
的规则 通过命令行................阅读全文
注意 原生的SSH转发不罗列,下面都是一些第三方客户端:
A.Windows
1.不得不说的就是Plink(Putty)和MyEnTunnel
Plink是Putty自带的一个命令行工具(当然Putty也能实现端口转发,这点熟悉的人都知道),使用不太方便,要实现断线重连还要写死循环的批处理,而MyEnTunnel就是这个壳了
不过这个玩意只是plink的前端壳,速度受plink稳定版的40k限制 不是很快,你可以下载这个开发版的plink: http://tartarus.org/~simon/putty-snapshots/x86/plink.exe,替换掉安装目录下面的plink即可,速度杠杠地
说到Putty顺便提一下Kitty
目前Kitty这个分支是来自0.6 PuTTY SSH/ Telnet 客户端的版本(版本20100914)
提供有一个便携版 比PuTTY更方便。绿色便携,密钥和配置文件不保存在注册表而保存在两个文件夹里可以放进U盘随身携带
可以保存ssh用户名和密码,也可以设置断线重连,可以最小化到系统托盘,也可以在Behaviour里勾选send to tray on startup设置开机后自动龟................阅读全文
分类: linux App, MyOriginal, Network Manger 标签: Cocoa SSHTunnel, ISSH, Kitty, MAC OS, MyEnTunnel, Plink, Putty, SSH Tunnel, SSH Tunnel Manager, Tunnelier, WinSSHD, 开发版, 限速
OpenVPN默认的子网掩码是/30 也就是255.255.255.252 在这样的情况下 只有两个地址实际可以用 一个给服务器端 一个给客户端。
这样是很浪费地址的。
见http://openvpn.net/index.php/open-source/faq/77-server/273-qifconfig-poolq-option-use-a-30-subnet-4-private-ip-addresses-per-client-when-used-in-tun-mode.html
这是受到windows下面TAP驱动限制导致的。因为windows下的TUN模式是TAP驱动模拟出来的。如果不考虑Windows客户端,万全可以启用ifconfig-pool-linear 这样的话 由于Linux下面的TUN没有这个问题,就不会浪费地址了。坏处也显而易见。
经过咨询@yegle,得知可以使用topology subnet 来解决。这是OpenVPN 2.1开始引入的新功能 描述见此。
--topology mode
Configure virtual addressing topology when running in --dev tun mode. This directive has no meaning in --dev tap mode, which always uses a subnet topology.
If you set this ................阅读全文
应该说是SID的一个BUG吧。
Ubuntu 10.04.2 LTS里面的OpenVPN 2.1.0 也有PF_INET6的标记,即可正常连接IPV6的服务器 也能正常接受来自IPV6客户端的连接,也能在openvpn status写入正常的IPV6 Real Address
root@ubuntu:~# openvpn --version
OpenVPN 2.1.0 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [MH] [PF_INET6] [eurephia] built on Jul 20 2010
Originally developed by James Yonan
Copyright (C) 2002-2009 OpenVPN Technologies, Inc.
cat /etc/openvpn/openvpn-status-udp6.log
OpenVPN CLIENT LIST
Updated,Wed Jun 15 18:43:42 2011
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
qs-244,2001:da8:1008:6003:0:5efe:****:****:43230,2675567,25820745,Wed Jun 15 18:27:13 2011
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
10.22.0.6,qs-244,2001:da8:1008:6003:0:5efe:****:****:43230,................阅读全文
先说一下在123查上面看到的东西
http://www.123cha.com/ip/?q=172.16.156.76
Ipv6扩展地址
Ipv6缩略地址
Ipv6表示地址
2002:ac10:9c4c:0:0:0:0:0
2002:ac10:9c4c::
Ipv4映射地址
0:0:0:0:0:FFFF:172.16.156.76
::FFFF:172.16.156.76
Ipv4兼容地址
0:0:0:0:0:0:172.16.156.76
::FFFF:ac10:9c4c
看下我本机的路由表
route -6 print
IPv6 Route Table
===========================================================================
Active Routes:
If Metric Network Destination Gateway
20 286 ::/0 fe80::5efe:219.230.144.10
1 306 ::1/128 On-link
15 58 2001::/32 On-link
15 306 2001:0:4137:9e76:819:297e:f5f7:fff1/128
On-link
20 38 2001:da8:1008:6003::/64 On-link
20 286 2001:da8:1008:6003:0:5efe................阅读全文
分类: Linux Manger, MyOriginal, Network Manger 标签: ipv6, isatap, shell, 兼容地址, 十六进制, 十进制, 取余, 变量长度, 手动, 映射地址, 缩略地址, 转换
IT民工都知道chnroutes,不过这个路由表每过一段时间就要更新,在Windows上面还弄个VBS+批处理 是在是讨厌。
好在OpenVPN除了能推送VPN子网内确定的路由设置外,还能推送客户端子网内以客户端子网为网关的路由。这样我们就可以实现chnroutes路由表的远程下发。然后服务器上弄个定时更新就可以了,这样路由的推送和更新可以实现全自动。
问题的关键在于,一般我们推送路由都是使用vpn_gateway这个变量来指示VPN网关,其实,我们也可以使用net_gateway来指示客户端所在子网网关。OpwnVPN客户端能理解这个变量(除了在2003上面可能有点问题)为自己本地子网网关,然后执行相应路由添加操作。
我们可以利用client-config-dir的DEFAULT配置来避免每次更新路由表后都要重启OpenVPN才能下发的问题。
--client-config-dir dir Specify a directory dir for custom client config files. After a connecting client has been authenticated, OpenVPN will look in thi................阅读全文
PPTP/L2TP的实现是非常容易的 ,因为每个用户都会生成一个ppp+设备 直接在这个设备上进行速度限制就可以了
在/etc/ppp/ip-up.d/新建一个没有后缀的可执行脚本 内容如下即可:
#!/bin/bash
speed=612kbps
#删除之前的定义
tc qdisc del dev $1 root
#重新定义策略
tc qdisc add dev $1 root handle 2: htb default 10
tc class add dev $1 parent 2: classid 2:1 htb rate 100mbps ceil 100mbps
tc class add dev $1 parent 2:1 classid 2:10 htb rate $speed ceil $speed prio 1
关于/etc/ppp/ip-up.d/这个目录和传递进来的参数 之前我已经介绍过了 可以在我博客里面查找相关资料。
如果要针对不同的人进行不同的速度限制 可以考虑使用PPTP/L2TP的logwtmp插件来获取PPP设备和用户名的关系。
对于PPTP来说,直接在pptpd.conf启用logwtmp选项就可以了,而L2TP要在options.xl2tpd手动加上
plugin /usr/lib/pptpd/pptpd-logwtmp.so
强制启用才可以 ,这个插件................阅读全文
近期评论