iptables 防火墙进出控制

iptables 防火墙进出控制

iptables简介

iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和 5 个链,所有的防火墙策略规则都被分别写入这些表与链中。

“四表”是指 iptables 的功能,默认的 iptable s规则表有 filter 表(过滤规则表)、nat 表(地址转换规则表)、mangle(修改数据标记位规则表)、raw(跟踪数据表规则表):

  • filter 表:控制数据包是否允许进出及转发,可以控制的链路有 INPUT、FORWARD 和 OUTPUT。
  • nat 表:控制数据包中地址转换,可以控制的链路有 PREROUTING、INPUT、OUTPUT 和 POSTROUTING。
  • mangle:修改数据包中的原数据,可以控制的链路有 PREROUTING、INPUT、OUTPUT、FORWARD 和 POSTROUTING。
  • raw:控制 nat 表中连接追踪机制的启用状况,可以控制的链路有 PREROUTING、OUTPUT。

“五链”是指内核中控制网络的 NetFilter 定义的 5 个规则链。每个规则表中包含多个数据链:INPUT(入站数据过滤)、OUTPUT(出站数据过滤)、FORWARD(转发数据过滤)、PREROUTING(路由前过滤)和POSTROUTING(路由后过滤),防火墙规则需要写入到这些具体的数据链中。

Linux 防火墙的过滤框架,如图所示:

img

可以看出,如果是外部主机发送数据包给防火墙本机,数据将会经过 PREROUTING 链与 INPUT 链;如果是防火墙本机发送数据包到外部主机,数据将会经过 OUTPUT 链与 POSTROUTING 链;如果防火墙作为路由负责转发数据,则数据将经过 PREROUTING 链、FORWARD 链以及 POSTROUTING 链。

iptables 基本使用

查看:

iptables -nL --line-number

备份旧策略:

iptables-save > /etc/sysconfig/old_iptables

清除目前所有规则(慎用):

iptables -F

关闭所有进出:

# 允许通过tcp协议访问22端口(先配置,否则无法使用ssh连接)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT
# 禁止访问除22端口以外的所有端口
iptables -P INPUT DROP
iptables -P FORWARD DROP
# iptables -P OUTPUT DROP

开放单个指定端口:

# 允许本地内部访问
iptables -A INPUT -i lo -j ACCEPT

# 例如开启风机数据505端口进出策略
iptables -A INPUT -p tcp --dport 505 -j ACCEPT
iptables -A INPUT -p UDP --dport 505 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 505 -j ACCEPT
iptables -A OUTPUT -p UDP --dport 505 -j ACCEPT

关闭多个指定端口:

iptables -A INPUT -p tcp -m multiport --dports 23,53,135:139,445,631 -j DROP
iptables -A INPUT -p udp -m multiport --dports 23,53,135:139,445,631 -j DROP
iptables -A OUTPUT -p tcp -m multiport --dports 23,53,135:139,445,631 -j DROP
iptables -A OUTPUT -p udp -m multiport --dports 23,53,135:139,445,631 -j DROP

常用服务端口:ftp-data/20、ftp/21、ssh/22、telnet/23

保存:

请注意,这些规则将只在当前会话中生效。如果您希望永久添加规则,您需要将规则保存到持久性规则集中。

要保存iptables规则,请使用以下命令:

sudo iptables-save > /etc/sysconfig/iptables

这将把当前的iptables规则保存到 /etc/sysconfig/iptables 文件中。在系统重新启动后,这些规则将自动加载。

其它文章:

https://developer.aliyun.com/article/520041

https://bbs.huaweicloud.com/blogs/300668

https://blog.csdn.net/daocaokafei/article/details/115091313

https://cloud.tencent.com/developer/article/1404152

rpm下载:

https://blog.csdn.net/cd_yourheart/article/details/107983258

http://rpmfind.net/linux/RPM/index.html

猜你喜欢

转载自blog.csdn.net/qq_19152901/article/details/130527294