-
一直都有自己搭建一个vpn的想法,但是由于种种原因一直没有付诸实践。前几天刷微博看到@左耳朵耗子发的一条关于如何用一条命令搭建vpn的微博,搭建vpn的念头再次萌生。正好手头上有一个国外的vps,于是立刻去vps上实验了一下。
登录vps,在控制台输入如下的命令,
- 启动wireshark
- 使用客户端连接vpn
- 包分析
- 再次使用客户端连接vpn并且抓包
- 修改启动命令重新启动vpn
- 再次使用客户端连接
docker run -d -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -e PSK=xxxx -e USERNAME=yyyy -e PASSWORD=xxxx siomiz/softethervpn这条命令的作用是: 从docker hub上下载镜像siomiz/softethervpn,并且运行vpn。同时对外启动端口udp端口500, udp端口4500,以及tcp端口1701, 并且设置相应的用户名以及密码。 运行完毕后,我尝试使用windows自带的客户端去连接vpn,但是始终不成功。具体的现象就是客户端一直提示在连接vpn,一段时间后出现如下的错误,

ip.addr == 107.191.60.68对抓取的包进行过滤。上面指令的主要作用是告诉wireshark: 把ip层的源地址或者目标地址是107.191.60.68的ip包展示出来。这样做的好处是排除其他数据包对我们的干扰。

iptables -L可以看到如下的数据,

iptables -t filter -D INPUT -j REJECT --reject-with icmp-host-prohibited iptables -t filter -D FORWARD -j REJECT --reject-with icmp-host-prohibited


docker run -d -p 500:500/udp -p 4500:4500/udp -p 1701:1701/udp -e PSK=xxxx -e USERNAME=yyyy -e PASSWORD=xxxx siomiz/softethervpn