在CENTOS操作系统下面三个命令一般在/sbin目录下
一、iptables-save [-c] [-t table]
通过简单的语法格式把一个IP
TABLE的内容转储到STDOUT(标准输出).可以用由shell提供I/0重定向写到一个文件中
-c, --counters 输出中包括所有包和字节计数器的当前值
-t, --table tablename 输出指定表名的那个表,若没有指定,将输出所有可用的表
二、iptables-restore [-c] [-n]
通过STDIN(标准输入)上指定的数据来恢复IP Table。由shell提供的I/O重定向功能从一个文件中读取。
-c, --counters 恢复所有包和字节计数器的当前值
-n, --noflush不删除表中以前的内容,如果没有指定(这一参数),iptables-restore会清空(删除)所有以前表中的内容。
三、iptables
用来设置、维护和检查Linux内核的IP包过滤规则的。可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用户定义的链。
iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改用
iptables - [RI] chain rule num rule-specification[option] 用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option] 删除指定规则
iptables -[LFZ] [chain][option] 用iptables -LFZ 链名 [选项]
iptables -[NX] chain 用 -NX 指定链
iptables -P chain target[options] 指定链的默认目标
iptables -E old-chain-name new-chain-name -E 旧的链名新的链名;用新的链名取代旧的链名
命令简单示例
1、设定规则
iptables -p INPUT DROP
iptables -p OUTPUT ACCEPT
iptables -p FORWARD DROP
2、防止外网用内网IP欺骗
iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP
3、设置/查看nat规则
iptables -t nat -A zOne-prerouting -d 192.168.0.123/32 -i eth0 -p tcp -m tcp --dport 5198 -j DNAT --to-destination 10.0.1.11:5198
iptables -t nat -L
4、阻止一个IP连接本机
iptables -t filter -A INPUT -s 192.168.1.5 -i eth0 -j DROP
5、查看本机的IPTABLES的所填规则
iptables -L -n
6、清除filter中所有的规则连接/清除filter中使用者自定义连接中的规则
iptables -F
iptables -X
7、保存所修改的iptables规则
/etc/rc.d/init.d/iptables save
8、重新启动iptables服务
service iptables restart
9、关闭不安全的端口连接本机
iptables -A OUTPUT -p tcp --sport 31337 -j DROP
iptables -A OUTPUT -p tcp --dport 31337 -j DROP
10、开启所需要的端口
22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
80 端口
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
11、禁止一个IP或者一个IP段访问服务器端口服务
80端口
iptables -t filter -I INPUT 2 -s 192.168.5.0/24 -p tcp --dport http -j DROP
FTP端口
iptables -t filter -I INPUT 2 -s 192.168.7.9 -p tcp --dport ftp -j DROP