iptables端口放行策略管理

193 阅读2分钟

一、WEB服务准备

在WEB服务端准备:你需要一台云服务器,这里我用的是3A网络的,部署简单快速,适合新手。

在WEB服务端准备

# yum  -y install httpd
# echo "web page" > /var/www/html/index.html
# systemctl enable httpd
# systemctl start http

二、WEB服务器防火墙规则配置

场景: 仅允许WEB客户端访问WEB服务端TCP 80端口,其它任何访问都拒绝。

# iptables -F
# iptables -P INPUT DROP
# iptables -A INPUT -p tcp --dport 80  -j ACCEPT
# service iptables save
  1. Filter表

1.1 示例1:(全部允许/拒绝/丢弃)

ptables -t filter -A INPUT -j DROP			添加规则,丢弃所有进来的数据包
iptables -t filter -A INPUT -j ACCEPT		添加规则,允许所有进来的数据包

//指定位置插入规则,允许所有进来的数据包第1条规则
iptables -t filter -I INPUT 1 -j ACCEPT	  


iptables -t filter -A OUTPUT -j DROP	  添加规则,丢弃所有出去的数据包

//指定位置插入规则,拒绝所有进来的数据包为第3条规则
iptables -t filter -I INPUT 3 -j REJECT	  

iptables -t filter -L --line-numbers	  查看规则编号
iptables -t filter -R INPUT 1 -j ACCEPT		覆盖已有规则

iptables -t filter -D INPUT 3			删除INPUT链的第3条规则

1.2 示例2:(根据源和目标地址匹配)

匹配的条件:
-s 192.168.134.0/24   	 	源地址
-d 192.168.134.1	    	目标地址
-p tcp|upd|icmp		    	协议
-i  lo		    			input 从lo接口进入的数据包
-o eth0             		 output 从eth0出去的数据包

1.3 示例3:(根据协议匹配过滤)

iptableS -A INPUT -s 10.1.1.3 -p icmp -j DROP
iptables -A INPUT -s 10.1.1.3 -p tcp -j DROP
iptables -A INPUT -s 10.1.1.3 ! -p tcp -j DROP

icmp协议中:
icmp-type 8 类型为8代表请求回显,ping请求
icmp-type 0 类型为0代表回显应答,ping应答

1.4 示例4:(根据端口匹配过滤)

iptables -A INPUT -s 10.1.1.2 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 10.1.1.2 -p tcp --dport 20:21 -j ACCEPT
iptables -A INPUT -s 10.1.1.2 -p tcp --dport 22 -j ACCEPT

\