ubuntu中防火墙iptables配置

本文详细介绍了在Ubuntu系统中配置iptables防火墙的方法,包括检查防火墙安装、查看配置信息、新建规则文件、使防火墙生效及开机启动等步骤,特别关注如何开放HTTP端口80以供web服务器使用。

ubuntu中防火墙iptables配置

特别说明:此文章转载于(Ubuntu配置iptables防火墙)

搭建web服务器希望通过默认http的默认端口80去访问,由于云服务器的80端口是默认不开启的,所以需要重新配置iptables,使浏览器能够直接访问。

特别注意一定要使用超管权限,不然部分语句会报错

1.查看系统是否安装防火墙

root@localhost:/usr# which iptables
/sbin/iptables
root@localhost:/usr# whereis iptables
iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz

如果是这样的信息,那么表明iptables就是安装了的。
如果没有安装,那么使用sudo apt-get install iptables安装。

2.查看防火墙的配置信息

运行命令iptables -L
如果成功配置应该是下面这幅图展现的内容,如果没有配置,则显示的是红框的内容。
在这里插入图片描述

3.新建规则文件

mkdir /etc/iptables #先新建目录,本身无此目录
vim /etc/iptables/rules.v4

文件rules.v4的内容编辑如下

*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:syn-flood - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A INPUT -p icmp -m limit --limit 100/sec --limit-burst 100 -j ACCEPT
-A INPUT -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j syn-flood
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A syn-flood -p tcp -m limit --limit 3/sec --limit-burst 6 -j RETURN
-A syn-flood -j REJECT --reject-with icmp-port-unreachable
COMMIT

4.使防火墙生效

iptables-restore < /etc/iptables/rules.v4

5.创建文件,添加以下内容,使防火墙开机启动

vim /etc/network/if-pre-up.d/iptables

文件iptables的内容编辑如下

#!/bin/bash
iptables-restore < /etc/iptables/rules.v4

当然针对云服务器,没有必要,一直都处于开机状态

6.添加文件的执行权限

chmod +x /etc/network/if-pre-up.d/iptables

7.查看规则是否生效

iptables -L -n

Ubuntu中没有直接停止关闭iptables的命令,像service iptables stop这类命令,是centos才有的。关闭的话,可以暂时开放所有端口作为替代方案

iptables -P INPUT ACCEPT  
iptables -P OUTPUT ACCEPT  
<think>好的,我需要帮助用户在Ubuntu系统上配置iptables防火墙。首先,我需要回忆一下相关的步骤和注意事项。根据用户提供的引用内容,有三个引用来源,我需要仔细看看这些内容。 首先,引用[1]提到Ubuntu使用iptables作为防火墙,但和CentOS的iptables-services有所不同。安装iptables-persistent可以让规则持久化,这样重启后规则不会丢失。引用[2]给出了安装iptables的命令,以及编辑策略文件的路径,比如/etc/iptables.rules或/etc/sysconfig/iptables。不过要注意,Ubuntu可能默认没有这些文件,需要手动创建或保存规则。引用[3]提到查看当前配置的方法,比如iptables -L命令,以及防火墙的基本概念,比如允许合法流量,阻止非法流量。 接下来,我需要整理配置步骤。首先安装iptablesiptables-persistent,这样可以使用netfilter-persistent来保存规则。然后配置基本规则,比如允许回环接口,允许已建立的连接,开放SSH端口,HTTP/HTTPS等。之后保存规则到文件,并设置开机启动。可能的注意事项包括确保默认策略是DROP或ACCEPT,根据需求调整,以及避免锁定自己导致无法远程连接。 可能用户容易犯的错误是在配置默认策略为DROP时没有先允许SSH端口,导致无法远程登录。需要提醒用户小心处理规则顺序,先允许必要的端口再设置默认策略。另外,保存规则的方式在Ubuntu可能和CentOS不同,需要使用iptables-save和netfilter-persistent命令。 现在需要把这些步骤清晰地写出来,用中文,结构分明,按照安装、配置、保存、启用的顺序。同时生成相关问题,比如如何持久化规则、如何允许特定端口等。确保所有数学公式用$...$,如果有的话,但这里可能不需要。注意引用标记的正确位置,比如在安装iptables-persistent时添加[^1],在编辑策略时引用[^2],在查看配置时引用[^3]。 最后,检查是否遗漏了任何关键点,例如测试规则是否生效,或者如何恢复默认设置。确保步骤正确,没有误导用户,并且引用来源正确对应。可能还需要提到备份现有规则,以防配置错误时恢复。</think>### 如何在 Ubuntu配置 iptables 防火墙 #### 1. 安装 iptables 和持久化工具 - Ubuntu 默认未安装完整的 iptables 工具链,需手动安装: ```bash sudo apt-get install iptables iptables-persistent ``` 安装过程中会提示是否保存当前规则,可选择“是”以备份现有配置[^2]。 #### 2. 查看当前规则 - 查看现有防火墙规则: ```bash sudo iptables -L -n -v ``` 此命令显示过滤表的输入、转发和输出链的详细规则。 #### 3. 配置基本规则 - 清除现有规则(谨慎操作): ```bash sudo iptables -F ``` - 设置默认策略(如默认拒绝所有输入,允许输出): ```bash sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT ``` - 允许回环接口和已建立连接: ```bash sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT ``` - 开放必要端口(如SSH的22端口): ```bash sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` #### 4. 保存规则并启用开机自启 - 手动保存规则到文件: ```bash sudo iptables-save > /etc/iptables/rules.v4 ``` - 启用持久化服务: ```bash sudo systemctl enable netfilter-persistent sudo systemctl start netfilter-persistent ``` 重启后规则会自动加载[^2]。 #### 5. 验证配置 - 重启系统或服务后,检查规则是否生效: ```bash sudo iptables -L -n -v ``` --- ### 注意事项 - **避免锁定远程连接**:配置默认策略前,务必先允许SSH端口,否则可能导致无法远程访问。 - **规则优先级**:规则按顺序匹配,需将常用规则(如允许SSH)放在前面。 - **备份配置**:修改前可通过`iptables-save > backup.rules`备份当前规则。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值