钧言极客站钧言极客

钧言极客

iptables防火墙常用使用命令

安装iptables

# centos
yum install iptables
# debian/ubunte
apt-get install iptables

查看已添加的规则

iptables -L -n -v
iptables -L --line-numbers
# 查看nat规则
iptables -t nat -vnL

# 注释
v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M)
n:只显示IP地址和端口号,不将ip解析为域名

清空iptables规则

iptables -F
iptables -X
iptables -Z

# 删除nat规则 
iptables -t nat -F

# 序号显示
iptables -L -n --line-numbers
# 删除相关序号
iptables -D INPUT 3
# 保存规则
iptables save

开放本机防火墙常用端口

# 允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT

# 允许本机访问
iptables -l INPUT -i lo -j ACCEPT

# 开放789端口
iptables -I INPUT -p tcp --dport 789 -j ACCEPT

# 开放80,443端口
iptables -t filter -l INPUT -p tcp -m multiport --dports 80,443 -j REJECT

# 开放20-22端口
iptables -t filter -I INPUT -p tcp --dport 20:21 -j ACCEPT

允许对所有的地址开放本机的基于ICMP协议的数据包访问

iptables -t filter -I INPUT -p icmp -j ACCEPT

其他未被允许的端口则禁止访问

iptables -t filter -A INPUT -j REJECT

防止SYN洪水攻击

iptables -A INPUT -p tcp --syn -m limit --limit 5/second -j ACCEPT

允许/屏蔽PING

# 允许ping
iptables -A  INPUT -p icmp --icmp-type echo-request -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT

# 禁止ping
iptables -A  INPUT -p icmp --icmp-type  8 -s 0/0 -j DROP

屏蔽IP或IP段

# 屏蔽IP
iptables -I INPUT -s 123.45.6.7 -j DROP

# 屏蔽IP段
iptables -l INPUT -s 123.0.0.0/8 -j DROP

禁止其他未允许的规则访问

iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT

只允许指定ip地址访问指定端口

iptables -A  INPUT -s xxx.xxx.xxx.xxx -p tcp --dport  22 -j ACCEPT
iptables -A OUTPUT -d xxx.xxx.xxx.xxx -p tcp --sport  22 -j ACCEPT

上面这两条,请注意 --dport 为目标端口,当数据从外部进入服务器为目标端口;反之,数据从服务器出去则为数据源端口,使用 --sport 同理,-s 是指定源地址,-d 是指定目标地址。

转发NAT规则

# 允许数据转发
iptables -A FORWARD -j ACCEPT

# 添加IP TCP转发
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 1122 -j DNAT --to-destination 10.10.10.11:22

# 添加IP UDP转发
iptables -t nat -A PREROUTING -p udp -m tcp --dport 1122 -j DNAT --to-destination 10.10.10.11:22

删除NAT规则

# 列出nat规则
iptables -t nat -vnL PREROUTING --line-number

# 删除相对应序号2的规则
iptables -t nat -D PREOUTING 2

iptables持久化

# 保存规则
iptables save

# 重启服务
iptables restart

安装 iptables-persistent

apt install iptables-persistent

# 规则生效
netfilter-persistent save
netfilter-persistent reload
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《iptables防火墙常用使用命令》
文章链接:https://www.jinjun.top/421.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论