{"id":1043,"date":"2014-08-24T16:12:24","date_gmt":"2014-08-24T16:12:24","guid":{"rendered":"http:\/\/blog.zhukunqian.com\/?p=1043"},"modified":"2014-08-24T16:12:24","modified_gmt":"2014-08-24T16:12:24","slug":"%e5%9c%a8%e7%bd%91%e4%b8%8a%e6%89%be%e5%88%b0%e4%b8%80%e4%b8%aa%e9%98%bf%e9%87%8c%e4%ba%91%e5%bb%bavpn%e7%9a%84%e4%b8%80%e9%94%ae%e8%84%9a%e6%9c%ac","status":"publish","type":"post","link":"https:\/\/blog.zhukunqian.com\/?p=1043","title":{"rendered":"\u5728\u7f51\u4e0a\u627e\u5230\u4e00\u4e2a\u963f\u91cc\u4e91\u5efaVPN\u7684\u4e00\u952e\u811a\u672c"},"content":{"rendered":"<pre class=\"brush: bash; gutter: true\">#!\/bin\/bash\r\n\r\nfunction installVPN(){\r\n\techo &quot;begin to install VPN services&quot;;\r\n\t#check wether vps suppot ppp and tun\r\n\t\r\n\tyum remove -y pptpd ppp\r\n\tiptables --flush POSTROUTING --table nat\r\n\tiptables --flush FORWARD\r\n\trm -rf \/etc\/pptpd.conf\r\n\trm -rf \/etc\/ppp\r\n\t\r\n\tarch=`uname -m`\r\n\t\r\n\twget http:\/\/www.hi-vps.com\/downloads\/dkms-2.0.17.5-1.noarch.rpm\r\n\twget http:\/\/wty.name\/linux\/sources\/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm\r\n\twget http:\/\/www.hi-vps.com\/downloads\/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm\r\n\twget http:\/\/www.hi-vps.com\/downloads\/pptpd-1.3.4-2.el6.$arch.rpm\r\n\twget http:\/\/www.hi-vps.com\/downloads\/ppp-2.4.5-17.0.rhel6.$arch.rpm\r\n\r\n\r\n\tyum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers\r\n\trpm -ivh dkms-2.0.17.5-1.noarch.rpm\r\n\trpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm\r\n\trpm -qa kernel_ppp_mppe\r\n\trpm -Uvh ppp-2.4.5-17.0.rhel6.$arch.rpm\t\r\n\trpm -ivh pptpd-1.3.4-2.el6.$arch.rpm\r\n\r\n\tmknod \/dev\/ppp c 108 0 \r\n\techo 1 &gt; \/proc\/sys\/net\/ipv4\/ip_forward \r\n\techo &quot;mknod \/dev\/ppp c 108 0&quot; &gt;&gt; \/etc\/rc.local\r\n\techo &quot;echo 1 &gt; \/proc\/sys\/net\/ipv4\/ip_forward&quot; &gt;&gt; \/etc\/rc.local\r\n\techo &quot;localip 172.16.36.1&quot; &gt;&gt; \/etc\/pptpd.conf\r\n\techo &quot;remoteip 172.16.36.2-254&quot; &gt;&gt; \/etc\/pptpd.conf\r\n\techo &quot;ms-dns 8.8.8.8&quot; &gt;&gt; \/etc\/ppp\/options.pptpd\r\n\techo &quot;ms-dns 8.8.4.4&quot; &gt;&gt; \/etc\/ppp\/options.pptpd\r\n\r\n\tpass=`openssl rand 6 -base64`\r\n\tif [ &quot;$1&quot; != &quot;&quot; ]\r\n\tthen pass=$1\r\n\tfi\r\n\r\n\techo &quot;vpn pptpd ${pass} *&quot; &gt;&gt; \/etc\/ppp\/chap-secrets\r\n\r\n\tiptables -t nat -A POSTROUTING -s 172.16.36.0\/24 -j SNAT --to-source `ifconfig  | grep &#039;inet addr:&#039;| grep -v &#039;127.0.0.1&#039; | cut -d: -f2 | awk &#039;NR==1 { print $1}&#039;`\r\n\tiptables -A FORWARD -p tcp --syn -s 172.16.36.0\/24 -j TCPMSS --set-mss 1356\r\n\tservice iptables save\r\n\r\n\tchkconfig iptables on\r\n\tchkconfig pptpd on\r\n\r\n\tservice iptables start\r\n\tservice pptpd start\r\n\r\n\techo &quot;VPN service is installed, your VPN username is vpn, VPN password is ${pass}&quot;\r\n\t\r\n}\r\n\r\nfunction repaireVPN(){\r\n\techo &quot;begin to repaire VPN&quot;;\r\n\tmknod \/dev\/ppp c 108 0\r\n\tservice iptables restart\r\n\tservice pptpd start\r\n}\r\n\r\nfunction addVPNuser(){\r\n\techo &quot;input user name:&quot;\r\n\tread username\r\n\techo &quot;input password:&quot;\r\n\tread userpassword\r\n\techo &quot;${username} pptpd ${userpassword} *&quot; &gt;&gt; \/etc\/ppp\/chap-secrets\r\n\tservice iptables restart\r\n\tservice pptpd start\r\n}\r\n\r\necho &quot;which do you want to?input the number.&quot;\r\necho &quot;1. install VPN service&quot;\r\necho &quot;2. repaire VPN service&quot;\r\necho &quot;3. add VPN user&quot;\r\nread num\r\n\r\ncase &quot;$num&quot; in\r\n[1] ) (installVPN);;\r\n[2] ) (repaireVPN);;\r\n[3] ) (addVPNuser);;\r\n*) echo &quot;nothing,exit&quot;;;\r\nesac<\/pre>\n<p>\u6ce8\uff1a\u8fd9\u4e2a\u811a\u672c\u6700\u540e\u4e00\u6b65\u8fdb\u884ciptables\u8f6c\u53d1\u65f6\uff0c\u4f1a\u6307\u5411\u4e3a\u963f\u91cc\u4e91\u7684\u5185\u7f51\u5730\u5740\uff0c\u9700\u8981\u624b\u5de5\u64cd\u4f5c\u4e00\u4e0b\uff0c\u4fee\u6539\u4e3a\u516c\u7f51IP\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>#!\/bin\/bash function installVPN(){ echo  &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/blog.zhukunqian.com\/?p=1043\">\u7ee7\u7eed\u9605\u8bfb &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts\/1043"}],"collection":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1043"}],"version-history":[{"count":1,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts\/1043\/revisions"}],"predecessor-version":[{"id":1045,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=\/wp\/v2\/posts\/1043\/revisions\/1045"}],"wp:attachment":[{"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.zhukunqian.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}