防火墙简单设置,selinux设置,网卡聚合连接,个性化设置

iptables防火墙从入门到使用

iptables防火墙

iptables是Linux内核自带的一个功能强大的防火墙工具。

基础概念

表(Tables)

iptables中的规则被组织在不同的表中,每个表负责不同类型的数据包处理:

filter:默认表,用于过滤数据包。(一般设置防火墙都在这个表中添加)

nat:用于网络地址转换。

链(Chains)

每张表包含若干预定义的链,用来指定规则匹配的数据包方向

INPUT:针对到达本机的数据包(输入数据)。

OUTPUT:针对从本机发出的数据包(输出数据)。

FORWARD:针对通过本机转发的数据包(如果本机作为路由器)。

默认的链为允许的状态,在链上添加完规则后,要在后面禁用所有流量。注意在规则最后面。

目标(Targets)

当一个规则匹配时,可以执行的动作:

ACCEPT:允许数据包通过。

DROP:丢弃数据包。

REJECT:拒绝数据包,并发送错误消息回源。

LOG:记录日志,但不决定是否允许该数据包。

常用操作

查看当前规则

iptables -L -v

这将列出所有链上的规则及其详细信息

清空所有防火墙规则

iptables -F

添加规则

添加一条允许来自某个特定IP的所有流量的规则到INPUT链

iptables -A INPUT -s -j ACCEPT

-s来源ip

添加入站链协议为tcp 端口为允许的规则。

iptables -A INPUT -p tcp --dport -j ACCEPT

-p tcp:指定协议为 TCP。

--dport :流量通过的端口。

-j ACCEPT:表示如果数据包匹配这条规则,就接受该数据包。

删除规则

找到对应规则后自动删除

iptables -D INPUT -s -j ACCEPT

iptables -D INPUT -p tcp --dport -j ACCEPT

删除入站链协议为tcp到端口为允许的规则

插入规则

插入规则到链的开头

iptables -I INPUT -s -j ACCEPT

iptables -I INPUT 1 -p tcp --dport -j ACCEPT

在入站链第一个位置插入协议为tcp到端口为允许的规则

开发端口

iptables -A INPUT -p tcp --dport -j ACCEPT

拒绝端口

iptables -A INPUT -p tcp --dport -j REJECT

允许本地回环接口的流量

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

拒绝某个IP地址的连接

iptables -A INPUT -s -j DROP

拒绝所有流量

/sbin/iptables -A INPUT -j DROP

保存规则

规则不会自动保存,重启会丢失。可以通过以下命令手动保存:

sh -c "iptables-save > /etc/iptables/rules"

恢复规则

iptables-restore < /etc/iptables/rules

设置默认策略

iptables -P INPUT ACCEPT

iptables -P FORWARD ACCEPT

iptables -P OUTPUT ACCEPT

启动停止开机启动

启动

iptables-restore < /etc/iptables/rules

停止

iptables -F

开机启动

新版本的centos没有加入服务,需要在这个文件中添加sh执行脚本的命令来启动防火墙。

vi /etc/rc.d/rc.local

/sbin/iptables-restore < /etc/iptables/rules

前提是将iptable的规则保存到/etc/iptables/rules

chmod +x /etc/rc.d/rc.local

确保 rc-local.service 已启用(某些系统需要这一步)

systemctl enable rc-local

脚本

#!/bin/bash

#清空所有现有规则

iptables -F

#允许本地回环接口流量

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT

#允许SSH

iptables -A INPUT -p tcp --dport -j ACCEPT

#允许HTTP和HTTPS

iptables -A INPUT -p tcp --dport -j ACCEPT

iptables -A INPUT -p tcp --dport -j ACCEPT

#拒绝所有

/sbin/iptables -A INPUT -j DROP

原文链接:,转发请注明来源!