供的应用服务.
[root@localhost ~]# iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT
[root@localhost ~]# iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT
例2.20 作为网关使用时,允许转发来自192.168.0.0/24局域网段的DNS解析请求数据包.
[root@localhost ~]# iptables -A FORWARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
[root@localhost ~]# iptables -A FORWARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCRPT
例2.21 拒绝从外网接口(eth1)直接访问防火墙本机的数据包,但是允许响应防火墙TCP请求的数据包进入.
[root@localhost ~]# iptables -P INPUT DROP
[root@localhost ~]# iptables -I INPUT -i eth1 -p tcp --tcp-flags SYN,RST,ACK SYN -j REJECT
[root@localhost ~]# iptables -I INPUT -i eth1 -p tcp --tcp-flags ! --syn -j ACCEPT //--syn的用法为兼容旧版本iptables的形式,此处等同于--tcp-flags SYN,RST,ACK SYN
例2.22 禁止其他主机ping防火墙主机,但是允许从防火墙上ping其他主机(允许接收ICMP回应数据).
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type Echo-Request -j DROP
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type Echo-Reply -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type destination-Unreachable -j ACCEPT
例2.23 禁止转发来自MAC地址为00:0C:29:27:55:3F的主机数据包.
[root@localhost ~]# iptables -A FORWARD -m mac --mac-source 00:0C:29:27:55:3F -j DROP
例2.24 允许防火墙本机对外开放TCP端口20,21,25,110以及被动模式FTP端口1250-1280.
[root@localhost ~]# iptables -A INPUT -p tcp -m multiport --dport 20,21,25,110,1250:1280 -j ACCEPT
例2.25 禁止转发源IP地址为192.168.1.20-192.168.1.99的TCP数据包.
[root@localhost ~]# iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.20-192.168.1.99 -j DROP
例2.26 禁止转发与正常TCP连接无关的非--syn请求数据包(如网络中可能存在的一些非法攻击数据包).
[root@localhost ~]# iptables -A FORWARD -m state --state NEW -p tcp ! --syn -j DROP
例2.27 拒绝访问防火墙的新数据包,但允许响应连接或已有连接相关的数据包.
[root@localhost ~]# iptables -A INPUT -p tcp -m state --state NEW -j DROP
[root@localhost ~]# iptables -A INPUT -p tcp -m state --state ESTABLISHED RELATED -j ACCEPT
例2.28 在服务器中设置防火墙策略,只开放本机的WEB服务(80端口)、FTP服务器(21 20端口、20450-20480),放行外部主机发往主机发往服务器其他端口的答应数据包,
将其他入站数据包均予以丢弃处理.
[root@localhost ~]# iptables -I INPUT -p tcp -m multiport --dport 20,21,80 -j ACCEPT
[root@localhost ~]# iptables -I INPUT -p tcp --dport 20450:20480 -j ACCEPT
[root@localhost ~]# iptables -I INPUT -p tcp -m state --state ESTABLISHID -j ACCEPT
[root@localhost ~]# iptables -P INPUT DROP //将默认策略设为DROP
例2.29 对于尝试通过SSH方式登录防火墙主机的访问数据,记录日志信息并禁止其访问.
[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -j DROP
[root@localhost ~]# iptables -I INPUT -p tcp --dport 22 -j LOG
用于将记录日志的频率限制为平均三次/分钟,允许的峰值为八次
[root@localhost ~]# iptables -R INPUT 1 -p tcp --dport 22 -m limit --limit 3/minute --limit-burst 8 -j LOG
例2.30 自定义一个新的 |