• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Linux防火墙入门:设定档

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 10次 | 进入软件测试论坛讨论

领测软件测试网
  开机自动叫用 rc.firewall
  在 /etc/rc.d/rc.local 档末,加入以下指令:
  if [ -f /etc/rc.d/rc.firewall ]; then . /etc/rc.d/rc.firewallfi
  该档属性: chmod ug+rwx rc.firewall
  (即 chmod 774 rc.firewall)
  该档 Owner 应为: root.root
  练习时,可下 sh rc.firewall 或 ./rc.firewall
  以下指令档,仅供参考,它们并不完整,未必能符合您的需要,您必须要再修改才能使用。
  一般而言,每个指令中的 IP,会使用变数代换的方式来处理。比如:
  FW_IP="163.26.197.8" (用 FW_IP 来代表 163.26.197.8)
  使用时,再用 $FW_IP 来代换成 163.26.197.8,这样,维护上会比较方便。
  其它大部份常用的指令值,也都会用上述方式来定义及取代。
  仅供参考用的 ipchains 设定档: rc.firewall (1)
  以下设定,便可分割出一个干净的网段,对外以 $FW_IP 为代表号。
  修改一下 IP,直接套用,很快便可架设一个简易的防火墙。
  #! /bin/shFW_IP="163.26.197.8"ipchains -Fipchains -P input ACCEPTipchains -P output ACCEPTipchains -P forward ACCEPTecho 1 > /proc/sys/net/ipv4/ip_forwardipchains -A forward -s 192.168.1.0/24 -j MASQipchains -A input -p tcp -d $FW_IP 80 -j REDIRECT 8080redir --lport=8080 --caddr=192.168.1.2 --cport=80 &
  仅供参考用的 iptables 设定档: rc.firewall (2)
  FW_IP 是指对外网卡的真实 IP,您要套用时,记得要修改成您的防火墙的第一片网卡的IP
  修改一下 IP,直接套用,很快便可架设一个简易的防火墙。
  #! /bin/sh###-----------------------------------------------------#### 设定内部网段 IP 及介面###-----------------------------------------------------###echo "Set internal ......"echoLAN_IP="172.16.255.254"LAN_IP_RANGE="172.16.0.0/16"LAN_BCAST_ADRESS="172.16.255.255"LAN_IFACE="eth1"# loopback interfaceLO_IFACE="lo"LO_IP="127.0.0.1"###-----------------------------------------------------#### 外部网段 IP 及介面###-----------------------------------------------------###echo "Set external ......"echoFW_IP="163.26.197.8"FW_IP_RANGE="163.26.197.0/24"FW_IFACE="eth0"###-----------------------------------------------------#### 设定 iptables 的路径###-----------------------------------------------------###echo "Set path of iptables"echoIPTABLES="/sbin/iptables"###-----------------------------------------------------#### 打开 forward 功能###-----------------------------------------------------###echo "Enable ip_forward ......"echoecho "1" > /proc/sys/net/ipv4/ip_forward###-----------------------------------------------------#### 清除先前的设定###-----------------------------------------------------###echo "Flush fiter table ......"echo# Flush filter$IPTABLES -F$IPTABLES -Xecho "Flush mangle table ......"echo# Flush mangle$IPTABLES -F -t mangle$IPTABLES -t mangle -Xecho "Flush nat table ......"echo# Flush nat$IPTABLES -F -t nat$IPTABLES -t nat -X###-----------------------------------------------------#### 设定 filter table 的预设政策###-----------------------------------------------------###echo "Set default policies for filter table"echo$IPTABLES -P INPUT ACCEPT$IPTABLES -P OUTPUT ACCEPT$IPTABLES -P FORWARD ACCEPT###-----------------------------------------------------#### 启动内部对外转址###-----------------------------------------------------###echo "Enable simple IP Forwarding and Network Address Translation"echo$IPTABLES -t nat -A POSTROUTING -o $FW_IFACE -j SNAT --to-source $FW_IP###-----------------------------------------------------#### 启动外部对内部转址###-----------------------------------------------------#### 凡对 $FW_IP:8080 连线者, 则转址至 172.16.255.2:80$IPTABLES -t nat -A PREROUTING -p tcp -d $FW_IP --dport 8080 -j DNAT --to 172.16.255.2:80
  仅供参考用的 ipchains 设定档: rc.firewall (3)
  $FW_IP 是防火墙主机上的第一片网卡的 IP,各位应把它换成您的防火墙的第一片网卡的IP
  #! /bin/shFW_IP="163.26.197.8"ipchains -F#ipchains -P input ACCEPT#ipchains -P output ACCEPT#ipchains -P forward ACCEPTipchains -P input DENYipchains -P output DENYipchains -P forward DENY# open telnetipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 23 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 23 -d $FW_IP 1024:65535 -j ACCEPT# open webipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 80 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 80 -d $FW_IP 1024:65535 -j ACCEPT# open mailipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 25 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 25 -d $FW_IP 1024:65535 -j ACCEPT# open pop3ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 110 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 110 -d $FW_IP 1024:65535 -j ACCEPT# open dns : 1st => udp 查询ipchains -A output -i eth0 -p udp -s $FW_IP 1024:65535 -d any/0 53 -j ACCEPTipchains -A input -i eth0 -p udp -s any/0 53 -d $FW_IP 1024:65535 -j ACCEPT# open dns : 2st => tcp 查询ipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 53 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 53 -d $FW_IP 1024:65535 -j ACCEPT# open dns peer-to-peer : 1st => udpipchains -A output -i eth0 -p udp -s $FW_IP 53 -d any/0 53 -j ACCEPTipchains -A input -i eth0 -p udp -s any/0 53 -d $FW_IP 53 -j ACCEPT# open dns peer-to-peer: 2st => tcp 查询ipchains -A output -i eth0 -p tcp -s $FW_IP 53 -d any/0 53 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 53 -d $FW_IP 53 -j ACCEPT# open ftp channel 21 : commands channelipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 21 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 21 -d $FW_IP 1024:65535 -j ACCEPT# open ftp channel 20 : data channelipchains -A input -i eth0 -p tcp -s any/0 20 -d $FW_IP 1024:65535 -j ACCEPTipchains -A output -i eth0 -p tcp ! -y -s $FW_IP 1024:65535 -d any/0 20 -j ACCEPT# open Passive FTP Mode : data channelipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 1024:65535 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 1024:65535 -d $FW_IP 1024:65535 -j ACCEPT# open sshipchains -A output -i eth0 -p tcp -s $FW_IP 1024:65535 -d any/0 22 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 22 -d $FW_IP 1024:65535 -j ACCEPTipchains -A output -i eth0 -p tcp -s $FW_IP 1020:1023 -d any/0 22 -j ACCEPTipchains -A input -i eth0 -p tcp ! -y -s any/0 22 -d $FW_IP 1020:1023 -j ACCEPT# 开放防火墙的 port 22 给家中或学校的某一个固定 IP 连线# 以下 211.22.33.44 即代表你家中的固定 IP, $FW_IP 是防火墙的eth0的 IPipchains -A input -i eth0 -p tcp -s 211.22.33.44 1024:65535 -d $FW_IP 22 -j ACCEPTipchains -A output -i eth0 -p tcp ! -y -s $FW_IP 22 -d 211.22.33.44 1024:65535 -j ACCEPT# 假设这台主机上有 mail server,以下可以开放别人送信包给你这台主机的 SMTPipchains -A input -i eth0 -p tcp -s any/0 1024:65535 -d $FW_IP 25 -j ACCEPTipchains -A output -i eth0 -p tcp ! -y -s $FW_IP 25 -d any/0 1024:65535 -j ACCEPT# 假设有一个垃圾邮件主机经常送 SPAM 信过来, 比如: 211.33.44.55,以下可以予以拒绝ipchains -A input -i eth0 -p tcp -s 211.33.44.55 -d $FW_IP 25 -j DENY# 允许教网中心 163.26.200.4 可以 ping 我ipchains -A input -i eth0 -p icmp -s 163.26.200.4 8 -d $FW_IP -j ACCEPTipchains -A output -i eth0 -p icmp -s $FW_IP 0 -d 163.26.200.4 -j ACCEPT# 我可以 ping 任何主机ipchains -A output -i eth0 -p icmp -s $FW_IP 8 -d any/0 -j ACCEPTipchains -A input -i eth0 -p icmp -s any/0 0 -d $FW_IP -j ACCEPT# 如果预设的 policy 是 ACCEPT,以下可以拒绝所有站台 ping 你的主机 # 如果预设的 policy 是 DENY,则不必设,就可全部拒绝别人 ping 你的主机ipchains -A input -i eth0 -p icmp -s any/0 8 -d $FW_IP -j DENY# 如果预设的 policy 是 ACCEPT, 以下可以拒绝任何主机 traceroute 你的主机ipchains -A output -i eth0 -p icmp -s $FW_IP 3 -d any/0 -j DENYipchains -A output -i eth0 -p icmp -s $FW_IP 11 -d any/0 -j DENY# 但我想 traceroute 别人ipchains -A output -i eth0 -p udp -s $FW_IP 1024:65535 -d any/0 33434:33523 -j ACCEPTipchains -A input -i eth0 -p icmp -s any/0 11 -d $FW_IP -j ACCEPTipchains -A input -i eth0 -p icmp -s any/0 3 -d $FW_IP -j ACCEPT
  仅供参考用的 iptables 设定档: rc.firewall (4)
  以下的 $FW_IP 代表防火墙的第一片网卡的真实 IP。
  #! /bin/shFW_IP="163.26.197.8"# enable forwardecho "1" > /proc/sys/net/ipv4/ip_forward# clear all chains###-----------------------------------------------------#### 清除先前的设定###-----------------------------------------------------#### 清除预设表 filter 中,所有规则链中的规则iptables -F# 清除预设表 filter 中,使用者自订链中的规则iptables -X# 清除mangle表中,所有规则链中的规则iptables -F -t mangle# 清除mangle表中,使用者自订链中的规则iptables -t mangle -X# 清除nat表中,所有规则链中的规则iptables -F -t nat# 清除nat表中,使用者自订链中的规则iptables -t nat -X#iptables -P INPUT ACCEPT#iptables -P FORWARD ACCEPT#iptables -P OUTPUT ACCEPTiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROPiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPTiptables -A INPUT -i eth1 -j ACCEPTiptables -A OUTPUT -o eth1 -j ACCEPTiptables -A FORWARD -i eth1 -j ACCEPTiptables -A FORWARD -o eth1 -j ACCEPT# NATiptables -t nat -A POSTROUTING -o eth0 -j SNAT -s 172.16.0.0/16 --to-source $FW_IP# 虚拟主机iptables -t nat -A PREROUTING -i eth0 -p tcp -d $FW_IP --dport 80 -j DNAT --to-destination 172.16.254.2:80# open ssh serveriptables -A INPUT -i eth0 -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 22 -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 22 -d any/0 --dport 1024:65535 -j ACCEPT# open telnetiptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 23 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 23 -d $FW_IP --dport 1024:65535 -j ACCEPT# open web browseriptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 80 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 80 -d $FW_IP --dport 1024:65535 -j ACCEPT# open mailiptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 25 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 25 -d $FW_IP --dport 1024:65535 -j ACCEPT# open pop3iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 110 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 110 -d $FW_IP --dport 1024:65535 -j ACCEPT# open ssh clientiptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 22 -d $FW_IP --dport 1024:65535 -j ACCEPT# open dns 1st => udpiptables -A OUTPUT -o eth0 -p udp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPTiptables -A INPUT -i eth0 -p udp -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT# open dns 2st => tcpiptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 53 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 53 -d $FW_IP --dport 1024:65535 -j ACCEPT# open telnet serveriptables -A INPUT -i eth0 -p tcp -s any/0 --sport 1024:65535 -d $FW_IP --dport 23 -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 23 -d any/0 --dport 1024:65535 -j ACCEPT# open ftp channel 21iptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 21 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 21 -d $FW_IP --dport 1024:65535 -j ACCEPT# open ftp data channel 20iptables -A INPUT -i eth0 -p tcp -s any/0 --sport 20 -d $FW_IP --dport 1024:65535 -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp ! --syn -s $FW_IP --sport 1024:65535 -d any/0 --dport 20 -j ACCEPT# open Passive FTP modeiptables -A OUTPUT -o eth0 -p tcp -s $FW_IP --sport 1024:65535 -d any/0 --dport 1024:65535 -j ACCEPTiptables -A INPUT -i eth0 -p tcp ! --syn -s any/0 --sport 1024:65535 -d $FW_IP --dport 1024:65535 -j ACCEPT# open ping iptables -A OUTPUT -o eth0 -p icmp -s $FW_IP --icmp-type 8 -d any/0 -j ACCEPTiptables -A INPUT -i eth0 -p icmp -s any/0 --icmp-type 0 -d $FW_IP -j ACCEPT
  仅供参考用的 iptables 设定档: rc.firewall (5)
  #!/bin/sh# 本 scritp 参考 Oskar Andreasson 的 script 而来, 其版权如下所示。# OLS3 谨志。ols3@www.tnc.edu.tw#-----------------------------------------------------------------------------# rc.firewall - Initial SIMPLE IP Firewall script for Linux 2.4.x and iptables## Copyright (C) 2001 Oskar Andreasson <blueflux@koffein.net>## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; version 2 of the License.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program or from the site that you downloaded it# from; if not, write to the Free Software Foundation, Inc., 59 Temple# Place, Suite 330, Boston, MA 02111-1307 USA#-----------------------------------------------------------------------------###-----------------------------------------------------#### 设定内部网段 IP 及介面###-----------------------------------------------------###echo "Set internal ......"echoLAN_IP="172.16.255.254"LAN_IP_RANGE="172.16.0.0/16"LAN_BCAST_ADRESS="172.16.255.255"LAN_IFACE="eth1"# loopback interfaceLO_IFACE="lo"LO_IP="127.0.0.1"###-----------------------------------------------------#### 外部网段 IP 及介面###-----------------------------------------------------###echo "Set external ......"echoFW_IP="163.26.197.8"FW_IP_RANGE="163.26.197.0/24"FW_IFACE="eth0"###-----------------------------------------------------#### 设定 iptables 的路径###-----------------------------------------------------###echo "Set path of iptables"echoIPTABLES="/sbin/iptables"###-----------------------------------------------------#### 打开 forward 功能###-----------------------------------------------------###echo "Enable ip_forward ......"echoecho "1" > /proc/sys/net/ipv4/ip_forward###-----------------------------------------------------#### 清除先前的设定###-----------------------------------------------------###echo "Flush fiter table ......"echo# Flush filter$IPTABLES -F$IPTABLES -Xecho "Flush mangle table ......"echo# Flush mangle$IPTABLES -F -t mangle$IPTABLES -t mangle -Xecho "Flush nat table ......"echo# Flush nat$IPTABLES -F -t nat$IPTABLES -t nat -X###-----------------------------------------------------#### 设定 filter table 的预设政策###-----------------------------------------------------###echo "Set default policies for filter table"echo$IPTABLES -P INPUT DROP$IPTABLES -P OUTPUT DROP$IPTABLES -P FORWARD DROP###-----------------------------------------------------#### 自订一个 chain , 名为 tcp_packets###-----------------------------------------------------###echo "Name a new chain : tcp_packets ......"echo$IPTABLES -N tcp_packets# 在此 tcp_packets chain 中, 附加一个 chain rule , 规则如下:# 1. 在非主动连线时, 却有一 new connection start , 此时予以记录下来, 且加上 New not syn:的前置字串#$IPTABLES -A tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \#--log-prefix "New not syn:"# 2. 这种封包, 予以丢弃.#$IPTABLES -A tcp_packets -p tcp ! --syn -m state --state NEW -j DROP# disable been scaned$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "been scanned:"$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL ALL -j LOG --log-prefix "been scanned:"$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG --log-prefix "been scanned:"$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL NONE -j LOG --log-prefix "been scanned:"$IPTABLES -A tcp_packets -p TCP --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "been scanned:"$IPTABLES -A tcp_packets -p TCP --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "been scanned:"$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL FIN,URG,PSH -j DROP$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL ALL -j DROP$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP$IPTABLES -A tcp_packets -p TCP --tcp-flags ALL NONE -j DROP$IPTABLES -A tcp_packets -p TCP --tcp-flags SYN,RST SYN,RST -j DROP$IPTABLES -A tcp_packets -p TCP --tcp-flags SYN,FIN SYN,FIN -j DROP###-----------------------------------------------------#### 启动内部对外转址###-----------------------------------------------------###echo "Enable simple IP Forwarding and Network Address Translation"echo$IPTABLES -t nat -A POSTROUTING -o $FW_IFACE -j SNAT --to-source $FW_IP###-----------------------------------------------------#### 启动外部对内部转址###-----------------------------------------------------#### 凡对 $FW_IP:8080 连线者, 则转址至 172.16.255.2:80$IPTABLES -t nat -A PREROUTING -p tcp -d $FW_IP --dport 8080 -j DNAT --to 172.16.255.2:80###-----------------------------------------------------#### FOWARD###-----------------------------------------------------###echo "Process forward ......"echo# FORWARD 由先由 tcp_packets 中来处理不好的 tcp packets$IPTABLES -A FORWARD -p tcp -j tcp_packets# 接受我们想 forward 的封包$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT ###-----------------------------------------------------#### 自订 ICPM 及 UDP chain 来处理对应的封包###-----------------------------------------------------###echo "New name for icpm and udp chain"echo$IPTABLES -N icmp_packets$IPTABLES -N udpincoming_packets###-----------------------------------------------------#### 自订 allowed 这个 chain 来处理 允许进入的 tcp 连线# 凡 tcp_packets 中的 chain rule 目的是某些欲开放的 port 者,# 则跳至此一 allowed chain 来处理.###-----------------------------------------------------###echo "New name for allowed chain"echo$IPTABLES -N allowed$IPTABLES -A allowed -p TCP --syn -j ACCEPT$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT$IPTABLES -A allowed -p TCP -j DROP###-----------------------------------------------------#### ICMP chain rule###-----------------------------------------------------#### 允许 ping 的要求(icmp-type =8), 至于回应(icmp-type=0)则不必规定# 回应属出 OUTPUT, 由 OUTPUT chain 来处理即可.#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT$IPTABLES -A icmp_packets -p ICMP -s $FW_IP_RANGE -d $FW_IP --icmp-type 8 -j ACCEPT# 允许 time-exceeded 的要求(maximus hop count(TTL)is exceeded)#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT$IPTABLES -A icmp_packets -p ICMP -s $FW_IP_RANGE --icmp-type 11 -j ACCEPT#$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT$IPTABLES -A icmp_packets -p ICMP -s $FW_IP_RANGE --icmp-type 3 -j ACCEPT###-----------------------------------------------------#### TCP rules###-----------------------------------------------------###$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 20 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 1024:65535 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 25 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 110 -j allowed# for CVS server$IPTABLES -A tcp_packets -p TCP -s $FW_IP_RANGE --dport 2401 -j allowed## UDP ports## nondocumented commenting out of these rules#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT# 允许 traceroute 至 FW_IP$IPTABLES -A udpincoming_packets -p UDP -s $FW_IP_RANGE -j ACCEPT#$IPTABLES -A udpincoming_packets -p UDP -j ACCEPT########################### PREROUTING chain.## Do some checks for obviously spoofed IP's ##$IPTABLES -t nat -A PREROUTING -i $FW_IFACE -s 192.168.0.0/16 -j DROP$IPTABLES -t nat -A PREROUTING -i $FW_IFACE -s 10.0.0.0/8 -j DROP#$IPTABLES -t nat -A PREROUTING -i $FW_IFACE -s 172.16.0.0/12 -j DROP########################### INPUT chain# Bad TCP packets we don't want.$IPTABLES -A FORWARD -p tcp -j tcp_packets# 进来的 ICMP 由 icmp_packets 这个 chain 来处理$IPTABLES -A INPUT -p ICMP -i $FW_IFACE -j icmp_packets# 进来的 TCP 由 tcp_packets 这个 chain 来处理$IPTABLES -A INPUT -p TCP -i $FW_IFACE -j tcp_packets# 进来的 UDP 由 udpincomming_packets 这个 chain 来处理$IPTABLES -A INPUT -p UDP -i $FW_IFACE -j udpincoming_packets## Rules for special networks not part of the Internet#$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT$IPTABLES -A INPUT -p ALL -d $FW_IP -m state --state ESTABLISHED,RELATED \-j ACCEPT################################ OUTPUT chain$IPTABLES -A FORWARD -p tcp -j tcp_packets# 对外连线, 先全部打开$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT$IPTABLES -A OUTPUT -p ALL -s $FW_IP -j ACCEPT
  
  
  

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网