{"id":18,"date":"2014-09-09T05:49:00","date_gmt":"2014-09-09T05:49:00","guid":{"rendered":"http:\/\/nby.me\/?p=84"},"modified":"2017-03-26T18:20:48","modified_gmt":"2017-03-26T10:20:48","slug":"84","status":"publish","type":"post","link":"https:\/\/nby.me\/?p=18","title":{"rendered":"Linode Centos6.5 X64+PPTP+L2TP\u5b89\u88c5\u6d41\u7a0b"},"content":{"rendered":"<p>\u4ee5\u4e0b\u5185\u5bb9\u7ecf\u8fc7\u672c\u4eba\u65e0\u6570\u6b21\u5931\u8d25\u6478\u7d22\u51fa\u6765\uff0c\u53ef\u4ee5\u505a\u4e00\u4e2a\u811a\u672c\u81ea\u52a8\u90e8\u7f72\u3002<br \/>\n(markdown\u7528\u7684\u4e0d\u592a\u719f\u7ec3)<!--more--><\/p>\n<p>\u9996\u5148\u8981\u4fee\u590dLinode Centos6.5\u7684iptables (\u5e26+\u53f7\u7684\u884c\u662f\u540e\u6dfb\u52a0\u7684)<\/p>\n<p>vi \/etc\/init.d\/iptables<\/p>\n<pre><code>echo -n $\"${IPTABLES}: Setting chains to policy $policy: \"\r\nret=0\r\nfor i in $tables; do\r\necho -n \"$i \"\r\ncase \"$i\" in\r\n       +++++++++++++++++++\r\nsecurity)\r\n$IPTABLES -t filter -P INPUT $policy \\\r\n    &amp;&amp; $IPTABLES -t filter -P OUTPUT $policy \\\r\n    &amp;&amp; $IPTABLES -t filter -P FORWARD $policy \\\r\n    || let ret+=1\r\n;;\r\n       +++++++++++++++++++\r\n    raw)\r\n    $IPTABLES -t raw -P PREROUTING $policy \\\r\n        &amp;&amp; $IPTABLES -t raw -P OUTPUT $policy \\\r\n        || let ret+=1\r\n   ;;\r\n<\/code><\/pre>\n<p>\u5b89\u88c5EPEL\u6e90<\/p>\n<p>rpm -ivh <a href=\"http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/x86_64\/epel-release-6-8.noarch.rpm\">http:\/\/dl.fedoraproject.org\/pub\/epel\/6\/x86_64\/epel-release-6-8.noarch.rpm<\/a><br \/>\nyum update<\/p>\n<p>\u4fee\u6539sysctl<\/p>\n<p>sed -i -e &#8216;s\/net.ipv4.ip_forward = 0\/net.ipv4.ip_forward = 1\/g&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;s\/net.ipv4.conf.default.rp_filter = 1\/net.ipv4.conf.default.rp_filter = 0\/g&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;s\/net.ipv4.tcp_syncookies = 1\/net.ipv4.tcp_syncookies = 0\/g&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;$a # Settings for OpenSwan IPSec implementation&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;$a net.ipv4.conf.all.send_redirects = 0&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;$a net.ipv4.conf.default.send_redirects = 0&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;$a net.ipv4.conf.all.accept_redirects = 0&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;$a net.ipv4.conf.default.accept_redirects = 0&#8217; \/etc\/sysctl.conf<br \/>\nsed -i -e &#8216;$a net.core.xfrm_larval_drop = 1&#8217; \/etc\/sysctl.conf<br \/>\nsysctl -p<\/p>\n<p>iptables\u6dfb\u52a0\u89c4\u5219\uff08\u6709\u4e9b\u53ef\u80fd\u91cd\u4e86 \u591a\u591a\u76ca\u5584\uff09<\/p>\n<p>iptables -t nat -A POSTROUTING -s 192.168.23.0\/24 -j SNAT &#8211;to-source <code>ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'<\/code><br \/>\niptables -A FORWARD -p tcp &#8211;syn -s 192.168.23.0\/24 -j TCPMSS &#8211;set-mss 1356<br \/>\niptables -A INPUT -p udp -m state &#8211;state NEW -m udp &#8211;dport 500 -j ACCEPT<br \/>\niptables -A INPUT -p udp -m state &#8211;state NEW -m udp &#8211;dport 1701 -j ACCEPT<br \/>\niptables -A INPUT -p udp -m state &#8211;state NEW -m udp &#8211;dport 1812 -j ACCEPT<br \/>\niptables -A INPUT -p udp -m state &#8211;state NEW -m udp &#8211;dport 1813 -j ACCEPT<br \/>\niptables -A INPUT -p udp -m state &#8211;state NEW -m udp &#8211;dport 1814 -j ACCEPT<br \/>\niptables -A POSTROUTING -s 192.168.23.0\/255.255.255.0 -o eth0 -j MASQUERADE<br \/>\niptables -A POSTROUTING -s 192.168.233.0\/255.255.255.0 -o eth0 -j MASQUERADE<br \/>\niptables -A INPUT -i lo -j ACCEPT<br \/>\niptables -A INPUT -i ! lo -d 127.0.0.0\/8 -j REJECT<br \/>\niptables -A INPUT -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<br \/>\niptables -A OUTPUT -j ACCEPT<br \/>\niptables -A INPUT -p gre -j ACCEPT<br \/>\niptables -A INPUT -p tcp -m state &#8211;state NEW &#8211;dport 1723 -j ACCEPT<br \/>\niptables -A INPUT -p icmp -m icmp &#8211;icmp-type 8 -j ACCEPT<br \/>\niptables -A INPUT -j REJECT<br \/>\niptables -A INPUT -p udp -m state &#8211;state NEW -m udp &#8211;dport 4500 -j ACCEPT<br \/>\niptables -I INPUT -p udp -m multiport &#8211;dport 1701,4500,500 -j ACCEPT<br \/>\niptables &#8211;table nat &#8211;append POSTROUTING &#8211;jump MASQUERADE<br \/>\niptables -t nat -A POSTROUTING -s 192.168.233.0\/24 -o eth0 -j MASQUERADE<br \/>\niptables -t nat -A POSTROUTING -s 192.168.233.0\/24 -j SNAT &#8211;to-source <code>ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'<\/code><br \/>\nservice iptables save<br \/>\nservice iptables restart<\/p>\n<p>\u5b89\u88c5PPTP<\/p>\n<p>yum remove -y pptpd ppp<br \/>\nrm -rf \/etc\/pptpd.conf<br \/>\nrm -rf \/etc\/ppp<br \/>\nrm -rf \/dev\/ppp<br \/>\nyum install -y ppp iptables<br \/>\nrpm -Uvh <a href=\"http:\/\/poptop.sourceforge.net\/yum\/stable\/rhel6\/pptp-release-current.noarch.rpm\">http:\/\/poptop.sourceforge.net\/yum\/stable\/rhel6\/pptp-release-current.noarch.rpm<\/a><br \/>\nyum install -y pptpd<br \/>\nmknod \/dev\/ppp c 108 0<br \/>\necho &#8220;mknod \/dev\/ppp c 108 0&#8221; &gt;&gt; \/etc\/rc.local<br \/>\necho &#8220;localip 192.168.23.1&#8221; &gt;&gt; \/etc\/pptpd.conf<br \/>\necho &#8220;remoteip 192.168.23.2-254&#8221; &gt;&gt; \/etc\/pptpd.conf<br \/>\necho &#8220;ms-dns 8.8.8.8&#8221; &gt;&gt; \/etc\/ppp\/options.pptpd<br \/>\necho &#8220;ms-dns 8.8.4.4&#8221; &gt;&gt; \/etc\/ppp\/options.pptpd<br \/>\n\/etc\/init.d\/pptpd restart<br \/>\nchkconfig pptpd on<br \/>\nchkconfig iptables on<\/p>\n<p>\u5b89\u88c5L2TP\uff08\u4f7f\u7528\u4e86racoon \u5bf9IOS WP8\u652f\u6301\u6027\u6bd4openswan\u597d\uff09<\/p>\n<p>yum install -y lsof libpcap libpcap-devel xl2tpd<br \/>\nrpm -ivh <a href=\"http:\/\/repo.nikoforge.org\/redhat\/el6\/x86_64\/ipsec-tools-0.8.0-3defpsk.el6.x86_64.rpm\">http:\/\/repo.nikoforge.org\/redhat\/el6\/x86_64\/ipsec-tools-0.8.0-3defpsk.el6.x86_64.rpm<\/a><br \/>\ncat &gt; \/etc\/racoon\/init.sh \/proc\/sys\/net\/ipv4\/ip_forward<br \/>\niptables -t nat -A POSTROUTING -s 192.168.233.0\/24 -o eth0 -j MASQUERADE<br \/>\niptables -I FORWARD -s 192.168.233.0\/24 -j ACCEPT<br \/>\niptables -I FORWARD -d 192.168.233.0\/24 -j ACCEPT<br \/>\nEOF<\/p>\n<p>chmod 750 \/etc\/racoon\/init.sh<\/p>\n<p>cat &gt; \/etc\/racoon\/racoon.conf \/etc\/racoon\/psk.txt &gt;\/etc\/xl2tpd\/xl2tpd.conf\/etc\/ppp\/options.xl2tpd \/etc\/ppp\/chap-secrets<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u4ee5\u4e0b\u5185\u5bb9\u7ecf\u8fc7\u672c\u4eba\u65e0\u6570\u6b21\u5931\u8d25\u6478\u7d22\u51fa\u6765\uff0c\u53ef\u4ee5\u505a\u4e00\u4e2a\u811a\u672c\u81ea\u52a8\u90e8\u7f72\u3002 (markdown\u7528\u7684\u4e0d\u592a\u719f\u7ec3)<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,1],"tags":[],"_links":{"self":[{"href":"https:\/\/nby.me\/index.php?rest_route=\/wp\/v2\/posts\/18"}],"collection":[{"href":"https:\/\/nby.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nby.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nby.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nby.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=18"}],"version-history":[{"count":1,"href":"https:\/\/nby.me\/index.php?rest_route=\/wp\/v2\/posts\/18\/revisions"}],"predecessor-version":[{"id":72,"href":"https:\/\/nby.me\/index.php?rest_route=\/wp\/v2\/posts\/18\/revisions\/72"}],"wp:attachment":[{"href":"https:\/\/nby.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nby.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nby.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}