温馨提示×

Ubuntu iptables如何配置防火墙规则

小樊
46
2025-02-21 11:42:47
栏目: 智能运维
Ubuntu服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Ubuntu系统中,iptables是一个强大的命令行工具,用于配置Linux内核防火墙。以下是一些基本的iptables配置步骤和示例,帮助你设置防火墙规则。

1. 更新系统

首先,确保你的系统是最新的:

sudo apt update
sudo apt upgrade

2. 查看当前的iptables规则

你可以使用以下命令查看当前的iptables规则:

sudo iptables -L -v -n

3. 允许SSH连接

如果你需要允许SSH连接(默认端口22),可以使用以下命令:

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

4. 允许HTTP和HTTPS连接

如果你需要允许HTTP(端口80)和HTTPS(端口443)连接,可以使用以下命令:

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

5. 允许特定IP地址访问

如果你想允许特定IP地址访问你的服务器,可以使用以下命令:

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

6. 拒绝所有其他输入

为了安全起见,你可以拒绝所有其他输入:

sudo iptables -P INPUT DROP

7. 允许已建立的连接

为了允许已建立的连接(例如,已经打开的SSH会话),可以使用以下命令:

sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

8. 保存iptables规则

默认情况下,iptables规则在系统重启后会丢失。你可以使用iptables-persistent包来保存规则:

sudo apt install iptables-persistent

在安装过程中,系统会提示你是否保存当前的iptables规则。选择“是”即可。

9. 查看保存的iptables规则

你可以使用以下命令查看保存的iptables规则:

sudo iptables -L -v -n

10. 删除iptables规则

如果你需要删除某个规则,可以使用以下命令:

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

示例:完整的iptables配置脚本

以下是一个简单的示例脚本,用于配置基本的防火墙规则:

#!/bin/bash

# 清除现有规则
sudo iptables -F
sudo iptables -X

# 设置默认策略
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

# 允许已建立的连接
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# 允许SSH连接
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许HTTP和HTTPS连接
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 允许特定IP地址访问
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

# 保存规则
sudo iptables-save > /etc/iptables/rules.v4

将上述脚本保存为setup_firewall.sh,然后运行:

chmod +x setup_firewall.sh
sudo ./setup_firewall.sh

这样,你就可以配置一个基本的防火墙规则集,并确保规则在系统重启后仍然有效。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:Ubuntu iptables如何配置防火墙

0