linuxvpn服务器:在Linux下建立VPN服务器来做加密代理

、背景 对vpn分类什么有个大概了解知道是个大概如何回事如果不大清楚朋友可以google本文就不对这些内容进行具体介绍了 目标系统:red hat linux 9默认安装 2、需求 说白了就是用肉鸡做加密代理 1:对系统尽可能小改变包括添加文件和系统日志我们用是肉鸡 2:是client-->server模式而不是net-net模式浏览网页而已 3:无论server还是client都要配置方便简单好用我们要是快速 3、选型 1:*swan a:ipsec vpn代表默认端口tcp/udp 500 b:优点:加密强对网络游戏什么支持好(我们用不上) c:缺点:部署麻烦配置麻烦关键是他nat-t就是nat穿越功能需要打内核补丁重新编译内核才行这事在肉鸡做不得大概说说swan系列吧最开始是freeswan然后大概在2004年停止开发衍生出openswan和strongswan两个分支openswan发展不错strongswan连个rpm包都没swan系列分两块个是用户空间个是内核空间内核空间包括模块和补丁大概就那么回事就是说要做到nat-t就需要用户空间lkm和内核补丁需要重新编译内核这个我们在肉鸡没法做还有他要用root运行 2:pptpd a:pptp vpn典型代表默认端口tcp 1723 b:优点:windows带了他client安装也方便就几个rpm配置也不难 c:缺点:拨进去他就会改缺省网关很烦要么拨进去自己route add/delete几下改改直别断开看个网站WebSite犯得着那么麻烦吗 3:openvpn a:ssl vpn典型代表默认端口tcp/udp 1194 b:优点:简单好装个rpm搞定要压缩话多个lzorpm包配置也是简单就生成.key还可以chroot并且可以以nobody运行肉鸡安全也是很重要保管不好就被抢了不过chroot就没必要了有兴趣朋友可以自己搞搞下把要东西都丢到个地方然后加上配置文件就差不多了再改改启动脚本 还有就是拨进vpn的后他不会改你默认网关免去了折腾烦恼我们可以把sf.net地址加到静态路由去 在server那边只需要开个udp or tcp端口就可以了不如何需要去动别人iptables c:缺点:除了要额外装个client的外相对我们需求来说基本没什么缺点了 4、开始 1:安装client and server
[root@rh9 root]# rpm -ivh lzo-1.08-2_2.rhl9.at.i386.rpm warning: lzo-1.08-2_2.rhl9.at.i386.rpm: v3 dsa signatur e: nokey, key id 66534c2b preparing... ########################################### [100%] 1:lzo ########################################### [100%] [root@rh9 root]# rpm -ivh openvpn-2.0.7-1.rh9.rf.i386.rpm warning: openvpn-2.0.7-1.rh9.rf.i386.rpm: v3 dsa signatur e: nokey, key id 6b8d79e6 preparing... ########################################### [100%] 1:openvpn ########################################### [100%]



2:服务端配置
[root@rh9 root]# cat > /etc/openvpn/server.conf dev tun config 10.8.0.1 10.8.0.2 secret .key ; user nobody ; group nobody port 3389 ; comp-lzo ; ;keep alive keepalive 10 60 ; ping-timer-rem persist-tun persist-key ;no-log ; verb 0 status /dev/null log /dev/null log-append /dev/null




server配置完毕 3:客户端配置 安装openvpn-2.0.9-gui-1.0.3-.exe然后打开“开始”--“”--“openvpn”--“generate a openvpn key”这会在c:\program files\openvpn\config下生成个叫key.txt文件把他重命名为.key 然后把这个文件复制到linux肉鸡/etc/openvpn/.key去最后在c:\program files\openvpn\config目录下创建个叫client.ovpn文件内容如下
remote 肉鸡ip dev tun config 10.8.0.2 10.8.0.1 secret .key port 3389 verb 3 comp-lzo keepalive 10 60 ping-timer-rem persist-tun persist-key




client配置完毕 注意无论是服务端还是客户端ip都不要和系统有ip段冲突另外改了端口需要在client and server都改 4:启动并连接 a:启动服务端
[root@rh9 root]# /etc/init.d/openvpn start starting openvpn: [ ok ]




这个时候理论上会发现多了个接口等会我们要收拾这个口子
[root@rh9 root]# config tun0 tun0 link encap:po-to-po protocol inet addr:10.8.0.1 p-t-p:10.8.0.2 mask:255.255.255.255 up poopo 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 s:0 (0.0 b) tx s:0 (0.0 b) [root@rh9 root]# netstat -an | grep 3389 udp 0 0 0.0.0.0:3389 0.0.0.0:*




这个时候理论上会起了个3389udp口如果这两个事情都有了那就好了般除了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-specic 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 s of data: reply from 10.8.0.1: s=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 servertun0地址




如果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般出问题就只有 3个地方client防火墙server防火墙和转发开关是否打开所以我们在服务端抓抓包就完全可以找到出问题地方ipsec pptp都可以这么找错 a:在servertun0口抓切包以检测client-->server是否连通当然定是连通否则那图标就不会是绿色了
[root@rh9 root]# tcpdump -n -i tun0 tcpdump: listening _disibledevent=>b:在servereth0口抓目标地址包以检测转发是否有问题
[root@rh9 root]# tcpdump -n -i eth0 dst host baoz.net tcpdump: listening _disibledevent=>c: 这个时候我们telnet下baoz.net看看
c:\>telnet baoz.net




两边都看到有包就对了如果有边看不到包就自己折腾下好了看看路过来是不是都没搞错 5、肉鸡中隐藏 1:肉鸡哪来? a:web app漏洞awstat什么没事就留意下milw0rm.comwebapp部分出新漏洞了就google hacking b:ssh or telnet弱口令没事就找几个a block扫扫看推荐xfocus冰河x-scan c:0day exp ? 这个我就不清楚了 d:蜜罐上面 3种情况都可能是蜜罐不过没关系就做个代理上上网嘛蜜罐就蜜罐了只要网速快就行 2:日志 日志处理上面在服务端配置部分已经提到了小心处理就是 3:进程、端口和连接 a:sk2用sk2client进去启动openvpn动态隐藏进程端口和网络连接 b:adore大概要改改才行不过我暂时没这个需求sk2已经很不错了 c:shv5最近抓到个rootkit替换elf文件很容易被查出来没啥意思特征是默认有个/usr/lib/libsh目录 4:config 这个是最关键也是最麻烦人都会config敲着玩玩不小心就会被发现多了个tun0呵呵我想了想办法有两: a:使用awk or sed脚本替换/sbin/config过滤掉tun0相关输出但这个比较容易被chkrootkit这样东西发现不过即使被人家用chkrootkit发现了也挺光荣至少用chkrootkit人还稍微比较专业点总比被人家config发现了好 b:修改config让他输出时候不显示tunx设备这个相对稳妥般检查config都是对比那混杂模式而已当然还有文件类型
[root@rh9 root]# rpm -q --whatprovides /sbin/config net-tools-1.60-12




查了在这个软件Software包里想改自己可以改改不想改就去找找有没人改好现成就当留给我和各位有兴趣朋友家庭作业好了 6、写在最后 信息安全是把双刃剑自己知道了可以尽可能如何攻击该如何攻击其中会有什么地方可以被发现才有可能知道了人家想如何攻击会如何攻击也才有机会发现入侵企图或入侵者进而把入侵者赶出去或拦在门外否则被人家root了几年还不知道如何回事

Tags:  vpn代理服务器软件 免费vpn代理服务器 vpn代理服务器 linuxvpn服务器

延伸阅读

最新评论

发表评论