{"id":18481,"date":"2014-09-30T06:09:05","date_gmt":"2014-09-29T22:09:05","guid":{"rendered":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/09\/30\/banana-pi-%e6%b8%ac%e8%a9%a6-bananian-%e7%af%87-iptables-%e9%98%b2%e7%81%ab%e7%89%86\/"},"modified":"2014-09-30T06:09:05","modified_gmt":"2014-09-29T22:09:05","slug":"banana-pi-%e6%b8%ac%e8%a9%a6-bananian-%e7%af%87-iptables-%e9%98%b2%e7%81%ab%e7%89%86","status":"publish","type":"post","link":"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/09\/30\/banana-pi-%e6%b8%ac%e8%a9%a6-bananian-%e7%af%87-iptables-%e9%98%b2%e7%81%ab%e7%89%86\/","title":{"rendered":"Banana Pi \u6e2c\u8a66 &#8211; Bananian \u7bc7 iptables \u9632\u706b\u7246"},"content":{"rendered":"<p>\u70ba\u4e86\u7cfb\u7d71\u7684\u5b89\u5168\uff0c\u6240\u4ee5\u52a0\u4e0a\u4e86 iptables\u00a0\u9632\u706b\u7246\u898f\u5247\uff0c\u4e3b\u8981\u662f\u53c3\u8003 ols3\u00a0\u7684\u9632\u706b\u7246\u898f\u5247\u3002<\/p>\n<p># <span style=\"color: #ff0000;\">vim \/etc\/firewall.server<\/span>[@more@]<span style=\"color: #0000ff;\">#! \/bin\/bash<\/span><br \/><span style=\"color: #0000ff;\">#<\/span><br \/><span style=\"color: #0000ff;\"># $IPTABLES \u7bc4\u672c<\/span><br \/><span style=\"color: #0000ff;\"># written by OLS3 (ols3@lxer.idv.tw)<\/span><br \/><span style=\"color: #0000ff;\">#<\/span><br \/><span style=\"color: #0000ff;\"># \u8acb\u81ea\u884c\u53c3\u8003\u4fee\u6539\uff0c\u628a\u8a3b\u89e3\u62ff\u6389\u5373\u53ef\u555f\u7528\u8a72\u9805\u8a2d\u5b9a<\/span><br \/><span style=\"color: #0000ff;\">#<\/span><\/p>\n<p><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\"># \u8a2d\u5b9a $IPTABLES \u7684\u8def\u5f91<\/span><br \/><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\">echo &#8220;Set path of iptables&#8221;<\/span><br \/><span style=\"color: #0000ff;\">echo<\/span><\/p>\n<p><span style=\"color: #0000ff;\">IPTABLES=&#8221;\/sbin\/iptables&#8221;<\/span><\/p>\n<p><span style=\"color: #0000ff;\">#\u8f09\u5165\u76f8\u95dc\u6a21\u7d44<\/span><br \/><span style=\"color: #0000ff;\">\/sbin\/modprobe ip_conntrack<\/span><br \/><span style=\"color: #0000ff;\">\/sbin\/modprobe ip_conntrack_ftp<\/span><br \/><span style=\"color: #0000ff;\">\/sbin\/modprobe iptable_nat<\/span><br \/><span style=\"color: #0000ff;\">\/sbin\/modprobe ip_nat_ftp<\/span><\/p>\n<p><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\"># \u5916\u90e8\u7db2\u6bb5 IP \u53ca\u4ecb\u9762<\/span><br \/><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\">echo &#8220;Set external &#8230;&#8230;&#8221;<\/span><br \/><span style=\"color: #0000ff;\">echo<\/span><\/p>\n<p><span style=\"color: #0000ff;\">#FW_IP=&#8221;192.168.1.1&#8243;<\/span><br \/><span style=\"color: #0000ff;\">#FW_IP_RANGE=&#8221;192.168.1.0\/24&#8243;<\/span><br \/><span style=\"color: #0000ff;\">FW_IFACE=&#8221;ppp0&#8243;<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># loopback interface<\/span><br \/><span style=\"color: #0000ff;\">LO_IFACE=&#8221;lo&#8221;<\/span><br \/><span style=\"color: #0000ff;\">LO_IP=&#8221;127.0.0.1&#8243;<\/span><\/p>\n<p><span style=\"color: #0000ff;\">## \u8a2d\u5b9a\u6838\u5fc3\u7684\u5b89\u5168\u76f8\u95dc\u53c3\u6578<\/span><br \/><span style=\"color: #0000ff;\">echo 1 &gt; \/proc\/sys\/net\/ipv4\/icmp_echo_ignore_broadcasts<\/span><br \/><span style=\"color: #0000ff;\">echo 1 &gt; \/proc\/sys\/net\/ipv4\/icmp_ignore_bogus_error_responses<\/span><br \/><span style=\"color: #0000ff;\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/accept_source_route<\/span><br \/><span style=\"color: #0000ff;\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/accept_redirects<\/span><br \/><span style=\"color: #0000ff;\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/send_redirects<\/span><br \/><span style=\"color: #0000ff;\">echo 1 &gt; \/proc\/sys\/net\/ipv4\/conf\/all\/rp_filter<\/span><br \/><span style=\"color: #0000ff;\">echo 1 &gt; \/proc\/sys\/net\/ipv4\/tcp_syncookies<\/span><br \/><span style=\"color: #0000ff;\">echo 3 &gt; \/proc\/sys\/net\/ipv4\/tcp_retries1<\/span><br \/><span style=\"color: #0000ff;\">echo 30 &gt; \/proc\/sys\/net\/ipv4\/tcp_fin_timeout<\/span><br \/><span style=\"color: #0000ff;\">echo 1400 &gt; \/proc\/sys\/net\/ipv4\/tcp_keepalive_time<\/span><br \/><span style=\"color: #0000ff;\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/tcp_window_scaling<\/span><br \/><span style=\"color: #0000ff;\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/tcp_sack<\/span><br \/><span style=\"color: #0000ff;\">echo 0 &gt; \/proc\/sys\/net\/ipv4\/tcp_timestamps<\/span><\/p>\n<p><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\"># \u6e05\u9664\u5148\u524d\u7684\u8a2d\u5b9a<\/span><br \/><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\">echo &#8220;Flush fiter table &#8230;&#8230;&#8221;<\/span><br \/><span style=\"color: #0000ff;\">echo<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># Flush filter<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -F<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -X<\/span><\/p>\n<p><span style=\"color: #0000ff;\">echo &#8220;Flush mangle table &#8230;&#8230;&#8221;<\/span><br \/><span style=\"color: #0000ff;\">echo<\/span><br \/><span style=\"color: #0000ff;\"># Flush mangle<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -F -t mangle<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -t mangle -X<\/span><\/p>\n<p><span style=\"color: #0000ff;\">echo &#8220;Flush nat table &#8230;&#8230;&#8221;<\/span><br \/><span style=\"color: #0000ff;\">echo<\/span><br \/><span style=\"color: #0000ff;\"># Flush nat<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -F -t nat<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -t nat -X<\/span><\/p>\n<p><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\"># \u8a2d\u5b9a filter table \u7684\u9810\u8a2d\u653f\u7b56<\/span><br \/><span style=\"color: #0000ff;\">###&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;###<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -P INPUT DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -P OUTPUT ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -P FORWARD DROP<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># \u5141\u8a31\u6d41\u7d93 lookback \u4ecb\u9762\u7684\u5c01\u5305\u9032\u51fa<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i lo -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A OUTPUT -o lo -j ACCEPT<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># \u963b\u53ef\u7591\u5c01\u5305<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -m state &#8211;state INVALID -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp ! &#8211;syn -m state &#8211;state NEW -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ALL NONE -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags SYN,FIN SYN,FIN -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags SYN,RST SYN,RST -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags FIN,RST FIN,RST -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ACK,FIN FIN -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ACK,URG URG -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ACK,PSH PSH -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ALL FIN,URG,PSH -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ALL ALL -j DROP<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;tcp-flags ALL FIN -j DROP<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># \u5141\u8a31\u5df2\u5efa\u7acb\u9023\u7dda\u548c\u56de\u61c9\u7684\u5c01\u5305\u901a\u904e<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i eth0 -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A OUTPUT -o eth0 -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A OUTPUT -o $FW_IFACE -m state &#8211;state ESTABLISHED,RELATED -j ACCEPT<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># \u958b\u653e\u672c\u6a5f\u7684 ssh port 22 \u670d\u52d9<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i eth0 -p tcp &#8211;dport 22 -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;dport 22 -j ACCEPT<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># \u958b\u653e\u672c\u6a5f\u7684 http port 80 \u670d\u52d9<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i eth0 -p tcp &#8211;dport 80 -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;dport 80 -j ACCEPT<\/span><\/p>\n<p><span style=\"color: #0000ff;\"># \u958b\u653e\u672c\u6a5f\u7684 https port 443 \u670d\u52d9<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i eth0 -p tcp &#8211;dport 443 -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -i $FW_IFACE -p tcp &#8211;dport 443 -j ACCEPT<\/span><\/p>\n<p><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -p icmp -s 0\/0 &#8211;icmp-type 8 -j ACCEPT<\/span><br \/><span style=\"color: #0000ff;\">$IPTABLES -A INPUT -p icmp -s 0\/0 &#8211;icmp-type 0 -j ACCEPT<\/span><\/p>\n<p>\u66f4\u6539\u6a94\u6848\u6b0a\u9650<br \/># <span style=\"color: #ff0000;\">chmod 700 \/etc\/firewall.server<\/span><\/p>\n<p>\u8a2d\u5b9a\u958b\u6a5f\u6642\u57f7\u884c<br \/>\u5728 <span style=\"color: #0000ff;\">\/etc\/rc.local<\/span>\u00a0\u6700\u5f8c\u4e00\u884c <span style=\"color: #0000ff;\">exit 0<\/span>\u00a0\u4e4b\u524d\u52a0\u5165 <span style=\"color: #ff0000;\">sh \/etc\/firewall.server<\/span><br \/># <span style=\"color: #ff0000;\">sed -i &#8216;\/^exit 0\/ish \/etc\/firewall.server&#8217; \/etc\/rc.local<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u70ba\u4e86\u7cfb\u7d71\u7684\u5b89\u5168\uff0c\u6240\u4ee5\u52a0\u4e0a\u4e86 iptables\u00a0\u9632\u706b\u7246\u898f\u5247\uff0c\u4e3b\u8981\u662f\u53c3\u8003 ols3\u00a0\u7684\u9632\u706b\u7246\u898f\u5247\u3002 # vim \/ &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/2blog.ilc.edu.tw\/25793\/2014\/09\/30\/banana-pi-%e6%b8%ac%e8%a9%a6-bananian-%e7%af%87-iptables-%e9%98%b2%e7%81%ab%e7%89%86\/\" class=\"more-link\">\u95b1\u8b80\u5168\u6587<span class=\"screen-reader-text\">\u3008Banana Pi \u6e2c\u8a66 &#8211; Bananian \u7bc7 iptables \u9632\u706b\u7246\u3009<\/span><\/a><\/p>\n","protected":false},"author":55,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[162,138],"tags":[],"class_list":["post-18481","post","type-post","status-publish","format-standard","hentry","category-c-83744","category-c-78483"],"meta_key":{"_pingme":["1"],"_encloseme":["1"],"lt_post_id":["518578"]},"_links":{"self":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18481"}],"collection":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/users\/55"}],"replies":[{"embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/comments?post=18481"}],"version-history":[{"count":0,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/posts\/18481\/revisions"}],"wp:attachment":[{"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/media?parent=18481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/categories?post=18481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2blog.ilc.edu.tw\/25793\/wp-json\/wp\/v2\/tags?post=18481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}