先关闭所有的80端口
开启ip段192.168.1.0/24访问80端口开启ip段211.123.16.123/24访问80端口$ iptables -I INPUT -p tcp --dport 80 -j DROP
$ iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT$ iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT 允许SSH端口协议连接:$ iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT$ iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 允许外网Ping服务器,不允许就把ACCEPT替换成DROP$ iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT$ iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT 设置IPTables默认策略,一般情况下,INPUT、OUTPUT、FORWARD链的默认策略都是ACCEPT。如果想更改默认策略为DROP:$ iptables -P INPUT DROP$ iptables -P OUTPUT DROP$ iptables -P FORWARD DROP小心!如果你通过SSH远程配置服务器,配置INPUT和OUTPUT链默认策略为DROP之前,一定要先在IPTables上配置允许SSH连接,否则你与服务器的连接会被中断! 允许访问Loopback$ iptables -A INPUT -i lo -j ACCEPT$ iptables -A OUTPUT -o lo -j ACCEPT 允许使用外网DNS解析$ iptables -A INPUT -p udp --sport 53 -j ACCEPT$ iptables -A OUTPUT -p udp --dport 53 -j ACCEPT 同一条规则设置多个端口如果你的服务器同时对外提供多种服务,你可能不想为每一项服务设置一条单独的规则。你可以把多个服务设置在同一条规则内。比如,你的服务器对外提供SSH, HTTP, HTTPS服务,你可以设置:$ iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT$ iptables -A OUTPUT -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
清除iptables
$ iptables -F$ iptables --flush查看iptables
$ iptable -L -n备份iptables
$ cp /etc/sysconfig/iptables /var/tmp然后保存iptables
$ service iptables save重启防火墙
$ service iptables restart 如果用了NAT转发需要配合以下才能生效$ iptables -I FORWARD -p tcp --dport 80 -j DROP$ iptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT 只能收发邮件,别的都关闭$ iptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -j DROP$ iptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p udp --dport 53 -j ACCEPT$ iptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 25 -j ACCEPT$ iptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 110 -j ACCEPTIPSEC NAT 策略
$ iptables -I PFWanPriv -d 192.168.100.2 -j ACCEPT$ iptables -t nat -A PREROUTING -p tcp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723$ iptables -t nat -A PREROUTING -p udp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723 FTP服务器的NATiptables -I PFWanPriv -p tcp --dport 21 -d 192.168.100.200 -j ACCEPTiptables -t nat -A PREROUTING -p tcp --dport 21 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:21只允许访问指定网址
iptables -A Filter -p udp --dport 53 -j ACCEPTiptables -A Filter -p tcp --dport 53 -j ACCEPTiptables -A Filter -d www.3322.org -j ACCEPTiptables -A Filter -d img.cn99.com -j ACCEPTiptables -A Filter -j DROP开放一个IP的一些端口,其它都封闭
iptables -A Filter -p tcp --dport 80 -s 192.168.100.200 -d www.pconline.com.cn -j ACCEPTiptables -A Filter -p tcp --dport 25 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 109 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 110 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 53 -j ACCEPTiptables -A Filter -p udp --dport 53 -j ACCEPTiptables -A Filter -j DROP多个端口
iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT连续端口
iptables -A Filter -p tcp -m multiport --source-port 22,53,80,110 -s 192.168.20.3 -j REJECT iptables -A Filter -p tcp --source-port 2:80 -s 192.168.20.3 -j REJECT指定时间上网
iptables -A Filter -s 10.10.10.253 -m time --timestart 6:00 --timestop 11:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROPiptables -A Filter -m time --timestart 12:00 --timestop 13:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPTiptables -A Filter -m time --timestart 17:30 --timestop 8:30 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT禁止多个端口服务
iptables -A Filter -m multiport -p tcp --dport 21,23,80 -j ACCEPT将WAN 口NAT到PC
iptables -t nat -A PREROUTING -i $INTERNET_IF -d $INTERNET_ADDR -j DNAT --to-destination 192.168.0.1 将WAN口8000端口NAT到192。168。100。200的80端口iptables -t nat -A PREROUTING -p tcp --dport 8000 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:80MAIL服务器要转的端口
iptables -t nat -A PREROUTING -p tcp --dport 110 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:110iptables -t nat -A PREROUTING -p tcp --dport 25 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:25只允许PING 202.96.134.133,别的服务都禁止
iptables -A Filter -p icmp -s 192.168.100.200 -d 202.96.134.133 -j ACCEPTiptables -A Filter -j DROP禁用BT配置
iptables –A Filter –p tcp –dport 6000:20000 –j DROP基于MAC,只能收发邮件,其它都拒绝
iptables -I Filter -m mac --mac-source 00:0A:EB:97:79:A1 -j DROPiptables -I Filter -m mac --mac-source 00:0A:EB:97:79:A1 -p tcp --dport 25 -j ACCEPTiptables -I Filter -m mac --mac-source 00:0A:EB:97:79:A1 -p tcp --dport 110 -j ACCEPT 只允许PING 202.96.134.133 其它公网IP都不许PINGiptables -A Filter -p icmp -s 192.168.100.200 -d 202.96.134.133 -j ACCEPTiptables -A Filter -p icmp -j DROP禁止某个IP地址的PING:
iptables –A Filter –p icmp –s 192.168.0.1 –j DROP 禁止某个IP地址的某个端口服务iptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j ACCEPTiptables -A Filter -p tcp -s 10.10.10.253 --dport 80 -j DROP禁止某个MAC地址的某个端口服务
iptables -I Filter -p tcp -m mac --mac-source 00:20:18:8F:72:F8 --dport 80 -j DROP