当前位置:首页 > 行业动态 > 正文

linux防火墙设置

本文介绍了如何在Linux系统中设置防火墙,包括iptables和ufw两种方法。

Linux防火墙是一种用于保护计算机网络安全的工具,它可以阻止未经授权的访问,同时允许合法的通信通过,在Linux系统中,有多种防火墙工具可供选择,如iptables、ufw和firewalld等,本文将详细介绍如何使用iptables进行Linux防火墙设置。

iptables简介

iptables是Linux系统中的一个命令行工具,用于配置内核级的防火墙规则,它可以实现基于网络地址、端口、协议等信息的过滤和转发功能,iptables支持多种表(table)和链(chain),用户可以通过配置不同的表和链来实现复杂的防火墙策略。

iptables基本语法

1、查看当前iptables规则:

sudo iptables -L

2、清空当前iptables规则:

sudo iptables -F

3、设置默认策略:

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

4、允许来自特定IP的访问:

sudo iptables -A INPUT -s IP地址 -j ACCEPT

5、禁止来自特定IP的访问:

sudo iptables -A INPUT -s IP地址 -j DROP

6、允许来自特定端口的访问:

sudo iptables -A INPUT -p 端口号 --dport 端口号 -j ACCEPT

7、禁止来自特定端口的访问:

sudo iptables -A INPUT -p 端口号 --dport 端口号 -j DROP

8、允许或禁止某个协议:

sudo iptables -A INPUT -p 协议名称 -j ACCEPT/DROP

9、保存当前iptables规则:

sudo sh -c "iptables-save > /etc/sysconfig/iptables"

iptables常用表和链

1、INPUT表:用于处理进入本机的数据包。

2、OUTPUT表:用于处理离开本机的数据包。

3、FORWARD表:用于处理经过本机的数据包。

4、PREROUTING链:用于对数据包进行路由前的处理。

5、POSTROUTING链:用于对数据包进行路由后的处理。

6、INGRESS链:用于处理进入本机的数据包,与PREROUTING链类似。

7、EGRESS链:用于处理离开本机的数据包,与POSTROUTING链类似。

8、FILTER链:用于处理其他类型的数据包,包括转发和目标为本机的数据包。

iptables示例配置

以下是一个基本的iptables防火墙配置示例,实现了以下功能:

1、允许来自特定IP的SSH访问;

2、禁止所有ICMP数据包;

3、允许HTTP和HTTPS访问;

4、保存当前规则。

允许来自特定IP的SSH访问(例如192.168.1.100)
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT
禁止所有ICMP数据包(除了回应请求)
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
sudo iptables -A FORWARD -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -P FORWARD DROP
sudo iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
sudo sh -c "iptables-save > /etc/sysconfig/iptables"

相关问题与解答

1、Q: Linux系统中有哪些防火墙工具?如何选择合适的工具?

A: Linux系统中有多种防火墙工具,如iptables、ufw和firewalld等,用户可以根据自己的需求和熟悉程度选择合适的工具,如果需要更高级的功能和易用性,可以选择ufw或firewalld;如果需要更灵活的配置和性能,可以选择iptables。

0