4:启动并连接 A:启动服务端 [root@RH9 root]# /etc/init.d/openvpn start Starting openvpn: [ OK ] 这个时候理论上会发现多了一个接口,等会我们要收拾这个口子。 [root@RH9 root]# ifconfig tun0 tun0 Link encap:Point-to-Point Protocol inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@RH9 root]# netstat -an | grep 3389 udp 0 0 0.0.0.0:3389 0.0.0.0:* 这个时候理论上会起了一个3389的udp口,如果这两个事情都有了,那就OK了,一般除了RP有WT之外,这里基本都不怎么可能出现错误。:) 如果有错误的话,就把上面的 verb 0 status /dev/null log /dev/null log-append /dev/null 改成 verb 9 status /usr/lib/0 log /usr/lib/1 log-append /usr/lib/1 然后重新启动openvpn服务并查看日志,注意,这个时候messages会有日志,调试完毕记得删除/usr/lib/0 /usr/lib/1。 B:启动客户端 开始--程序--openvpn--OpenVPN GUI 连接服务端 点右下角红色的图标--connect 图标变绿,就是成功连接并分配到地址了,注意让你的防火墙通过。 如果没变绿色,从那个图标那view log,如果发现不到问题,就把client的配置文件的verb设置为9,重新连接,再看日志,再google。 C:检查连接: 在client里看到有这么个信息 Ethernet adapter 本地连接 4: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 10.8.0.2 Subnet Mask . . . . . . . . . . . : 255.255.255.252 Default Gateway . . . . . . . . . : C:\>ping 10.8.0.1 Pinging 10.8.0.1 with 32 bytes of data: Reply from 10.8.0.1: bytes=32 time=7ms TTL=64 连接木有问题,这个时候就根据个人的喜好,是改默认网关还是只根据目的地址route add一下了 如果肉鸡速度快的话改默认网关吧。 C:\>route delete 0.0.0.0 C:\>route add 0.0.0.0 mask 0.0.0.0 10.8.0.1 -->注意啊,是vpn server的tun0的地址。 如果DNS服务器不在内网的话,自己再route add一次DNS的地址就OK,如果想长期生效,可在route add语句最后加-p参数。 D:服务端打开转发 做个nat,但注意一下eth0需要是可以去外网的接口啊,否则等会数据走不出去,如果肉鸡是单接口的话就不需要担心。 [root@RH9 root]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE 再看看转发开了没 [root@RH9 root]# sysctl -a | grep net.ipv4.ip_forward net.ipv4.ip_forward = 0 我们把他打开 [root@RH9 root]# sysctl -w net.ipv4.ip_forward=1 5:找错 VPN一般出问题就只有三个地方,client的防火墙,server的防火墙,和转发开关是否打开,所以我们在服务端抓抓包就完全可以找到出问题的地方。ipsec pptp都可以这么找错。 A:在server的tun0口抓一切包,以检测client-->server是否连通,废话,肯定连通的,否则那图标怎么会是绿色.... [root@RH9 root]# tcpdump -n -i tun0 tcpdump: listening on tun0 B:在server的eth0口抓目标地址包,以检测转发是否有问题。 [root@RH9 root]# tcpdump -n -i eth0 dst host baoz.net tcpdump: listening on eth0 C: 这个时候我们telnet一下baoz.net看看 C:\>telnet baoz.net 两边都看到有包就对了。如果有一边看不到包,就自己折腾一下好了。看看一路过来是不是都没搞错。 到此为止,我们已经可以
上一页 1 2 3 4 下一页 |