本文共 4846 字,大约阅读时间需要 16 分钟。
[root@localhost ~]# systemctl stop firewalld.service//centos 7默认使用firewalld防火墙,要是使用iptables必须先关闭firewalld防火墙[root@localhost ~]# systemctl disable firewalld.service
[root@localhost ~]# yum y install iptables iptables-services
[root@localhost ~]# systemctl start iptables.service[root@localhost ~]# systemctl enable iptables.service
iptables语法格式
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]如果不指定表名,则会默认指定filter表[root@localhost ~]# iptables -t filter -l INPUT -p icmp -j REJECT-p :协议 阻止ping测试REJECT:拒绝 或者用DROPfilter:默认表 -t可以不写 其他三个表就要写
注意事项
不指定表名时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、链名、控制类型使用大写字母,其余均为小写iptables命令使用总结
所有链名必须大写INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING所有表名必须小写filter/nat/mangle所有动作必须大写ACCEPT/DROP/SNAT/DNAT/MASQUERADE所有匹配必须小写-s/-d/-m/-p
/两台主机 IP分别为192.168.158.10 另一台192.168.158.40通过第一台设备ping第二台[root@localhost ~]# ping 192.168.158.10PING 192.168.158.10 (192.168.158.10) 56(84) bytes of data.64 bytes from 192.168.158.10: icmp_seq=1 ttl=64 time=0.182 ms64 bytes from 192.168.158.10: icmp_seq=2 ttl=64 time=0.335 ms64 bytes from 192.168.158.10: icmp_seq=3 ttl=64 time=0.262 ms//是可以ping通的[root@localhost ~]# iptables -L -t filter 第二台查看filter信息[root@localhost ~]# iptables -t filter -F //清空filter表[root@localhost ~]# iptables -t filter -I INPUT -p icmp -j REJECT//切换192.168.158.10进行ping测试[root@localhost ~]# ping 192.168.158.10PING 192.168.158.10 (192.168.158.10) 56(84) bytes of data.From 192.168.158.10 icmp_seq=1 Destination Port UnreachableFrom 192.168.158.10 icmp_seq=2 Destination Port UnreachableFrom 192.168.158.10 icmp_seq=3 Destination Port Unreachable//测试成功 已经ping不通了
ACCECT:允许通过DROP:直接丢弃REJECT:拒绝通过,必要时会给出提示LOG:记录日志信息,然后传给下一条规则继续匹配
[root@localhost ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT[root@localhost ~]# iptables -I INPUT -p udp -j ACCEPT[root@localhost ~]# iptables -I INPUT 2 -p icmp -j ACCEPT
[root@localhost ~]# iptables -t filter -A INPUT -p tcp -j ACCEPT[root@localhost ~]# iptables -I INPUT -p udp -j ACCEPT[root@localhost ~]# iptables -I INPUT 2 -p icmp -j ACCEPT
L:列出所有的规则条目-n: 以数字形式显示地址、端口等信息-V: 以更详细的方式显示规则信息-line-numbers:查看规则时,显示规则的序号
[root@localhost ~]# iptables -L INPUT --line-numbers[root@localhost ~]# iptables -n -L INPUT //-n -L可合写
[root@localhost ~]# iptables -D INPUT 3[root@localhost ~]# iptables -n -L INPUT
[root@localhost ~]# iptables F //默认是情况filter[root@localhost ~]# iptables - nat F[root@localhost ~]# iptables - mangle F[root@localhost ~]# iptables -t raw F
-P:为指定的链设置默认规则
[root@localhost ~]# iptables -t filter P FORWARD DROP[root@localhost ~]# iptables P OUTPUT ACCEPT//清空所有默认策略要么是ACCEPT 要么是DROP表的所有链
类别 | 选项 | 用途 |
---|---|---|
添加新的规则 | -A | 在链的末尾追加一条规则 |
-l | 在链的开头(或指定序号)插入一条规则 | |
查看规则列表 | -L | 列出所有的规则条目 |
-n | 以数字形式显示地址、端口等信息 | |
-v | 以更详细的方式、显示规则的序号 | |
–line-numbers | 查看规则时,显示规则的序号 | |
删除、清空规则 | -D | 删除链内指定序号(或内容)的一条规则 |
-F | 清空所有规则 | |
设置默认策略 | -P | 为指定的链设置默认规则 |
//在转发链中源地址为4.0段协议为upd 53端口可以放行通过 【dns】[root@localhost ~]# iptables A FORWARD -s 192.168.158.0/24 -P udp -dport 53 j ACCEPT//20:21表示多端口 [root@localhost ~]# iptables -A INPUT -P tcp --dport 20:21 ACCEPT
[root@localhost ~]# iptables -A INPUT -P icmp --icmp-type 8 -j DROP[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 0 j ACCEPT[root@localhost ~]# iptables -A INPUT -p icmp --icmp-type 3 j ACCEPT[root@localhost ~]# iptables -A INPUT -p icmp -j DROP//8请求 0回显 3不可达
//在INPUT链中tcp协议目标端口25,80,110,143允许[root@localhost ~]# iptables -A INPUT -P tcp -m multiport --dport 25,80,110,143 jACCEPT//在转发链中TCP的地址段源地址的范围[root@localhost ~]# iptables -A FORWARD -P tcp -m iprange -rC-range 192.168.158.10-192.168.158.40 j ACCEPT//在INPUT链中MAC地址为..做拒绝[root@localhost ~]# iptables -A INPUT -m mac --mac-source 00:0d:35:c0:45:4f j DROP
类别 | 条件类型 | 用法 |
---|---|---|
通用匹配 | 协议匹配 | -P协议名 |
地址匹配 | -s源地址、-d目的地址 | |
接口匹配 | -i入站网卡、-o出站网卡 | |
隐含匹配 | 端口匹配 | –sport源端口、–dport目的端口 |
ICMP类型匹配 | –icmp-type ICMP类型 | |
多端口匹配 | -m multiport --soprts --dpoets 端口列表 | |
显式匹配 | IP范围匹配 | -m iprange --src-range IP范围 |
MAC地址匹配 | -m mac --mac-source MAC地址 | |
状态匹配 | -m state --state 链接状态 |
计算机 | ip |
---|---|
PC | 192.168.158.10 |
防火墙 | ens33:192.168.158.20 |
防火墙 | ens37:20.0.0.30 |
WEB | 20.0.0.30 |
转载地址:http://qfdaf.baihongyu.com/