📜  ubuntu 防火墙 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:35:26.799000             🧑  作者: Mango

Ubuntu防火墙 - Shell/Bash

简介

Ubuntu防火墙是一款基于iptables的防火墙程序,它可以帮助管理员控制通信流量。在Ubuntu中,可以使用Ubuntu防火墙来保护服务器免受攻击。本篇文章将介绍如何使用Shell/Bash编写Ubuntu防火墙脚本。

使用Shell/Bash编写Ubuntu防火墙脚本
1. 设置默认策略

我们需要先设置默认的防火墙策略:

#!/bin/bash

# 设置默认规则
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
2. 允许SSH连接

如果您需要远程连接到您的主机,则需要允许SSH连接:

# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
3. 允许HTTP/HTTPS连接

如果您的主机正在运行Web服务器,则需要允许HTTP/HTTPS连接:

# 允许HTTP连接
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT

# 允许HTTPS连接
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
4. 其他规则

您还可以添加其他规则,例如:

# 允许ICMP echo请求
iptables -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED -j ACCEPT
5. 保存规则

编写脚本后,需要保存规则:

# 保存规则
iptables-save > /etc/iptables.rules
6. 加载规则

在系统重新启动后,需要重新加载规则:

# 加载规则
iptables-restore < /etc/iptables.rules
总结

Ubuntu防火墙是一款强大的防火墙程序,可以保护服务器免受攻击。本文介绍了使用Shell/Bash编写Ubuntu防火墙脚本的方法,并演示了基本的规则。您可以根据自己的需求添加其他规则。