iptables使用参考

一、简介

netfilter/iptables组成Linux平台下的包过滤防火墙 ,完成 封包过滤、封包重定向、网络地址转换NAT 等功能。iptables可以看做是客户端代理,通过它设定规则,netfilter是位于内核空间的真正的防火墙。

这里记录常用的部分。

二、安装与使用

2.1 安装

CentOS7需要卸载系统自带的firewall:

systemctl stop firewalld.service
systemctl disable firewalld.service

安装iptables:

yum install iptables-services iptables -y

2.2 常用部分

2.2.1 INPUT(入站规则)

# 查看当前规则
iptables -nL
# 所有入站请求TCP对当前IP开放
iptables -A INPUT -p tcp -s 192.168.45.193 -j ACCEPT
# 默认入站deny,需要开通白名单
iptables -P INPUT DROP
# 指定IP访问指定端口
iptables -A INPUT -p tcp --dport  9092  -s 192.168.26.135 -j ACCEPT
# 每次修改都需要保存规则,否则重启失效
service iptables save

2.2.2 OUTPUT(出站规则)

# 默认所有出站容许,如需要设置所有出站deny
iptables -P OUTPUT DROP
# 指定端口出站白名单
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
# 每次修改都需要保存规则,否则重启失效
service iptables save

2.2.3 FORWARD(端口转发)

# 启用网卡转发
echo 1 > /proc/sys/net/ipv4/ip_forward
# 永久生效(/etc/sysctl.conf); sysctl -p
net.ipv4.ip_forward = 1
# 端口转发
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 23306 -j DNAT --to 192.168.1.11:3306
iptables -t nat -A POSTROUTING -j MASQUERADE
# 每次修改都需要保存规则,否则重启失效
service iptables save

2.2.4 删除规则

# 列出规则
iptables -L -n --line-number
# 根据规则类型和序号删除相应规则
iptables -D OUTPUT 1 
# 每次修改都需要保存规则,否则重启失效
service iptables save