一 Linux系统防火墙工具发展历史
防火墙工具变化如下: ipfirewall—>ipchains—>iptables—>firewalld
- Linux 2.0版内核中,包过滤机制为ipfw,管理工具是ipfwadm。
- Linux 2.2版内核中,包过滤机制为ipchain,管理工具是ipchains。
- Linux 2.4版内核中,包过滤机制为netfilter,管理工具是iptables。
- Linux 3.1版内核中,采取daemon动态管理防火墙,管理工具是firewalld。
我们现在常用的防火墙工具是:iptables、firewalld
二 几种常见的防火墙及其关系
- iptables是Linux下功能强大的应用层防火墙工具
- firewall是centos7里面新的防火墙管理命令
- ufw是Ubuntu下的一个简易的防火墙配置工具
三 几种常见防火墙如何使用
3.1 iptables防火墙
3.1.1 iptables的位置
- ptables服务将配置存储在/etc/sysconfig/iptables和/etc/sysconfig/ip6tables中
3.1.2 基本操作
-
安装iptables
yum install iptables-services
-
卸载iptables
yum remove iptables-services
-
查看防火墙状态
service iptables status
-
启动防火墙
service iptables start
-
停止防火墙
service iptables stop
-
永久关闭防火墙
chkconfig iptables off
-
永久关闭后重启
chkconfig iptables on
-
查看iptable端口
iptables -L -n
-
关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放
iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP
-
打开所有的 INPUT FORWARD OUTPUT 只对某些端口开放
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT siptables -P OUTPUT ACCEPT
-
开放指定的端口(22)
可以打开文件查看 vi /etc/sysconfig/iptables
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
-
iptables 保存
service iptables save
-
保存退出后重启防火墙
service iptables restart
3.2 firewall防火墙
3.2.1 firewall的位置
- firewalld将配置存储在/usr/lib/firewalld/和/etc/firewalld/中的各种XML文件中
3.2.2 基本操作
-
查看firewalld是否安装
rpm -qa|grep firewalld
-
查看yum中firewalld中列表
yum list firewalld*
-
firewalld 安装
yum install firewalld*
-
firewalld 卸载
yum remove firewall*
-
firewalld 升级
yum -y update firewalld
-
查看firewall 安装信息
rpm -qi firewalld firewall-config
-
查看firewall服务状态
systemctl status firewalld
-
查看firewall的状态
firewall-cmd --state
-
开启firesalld服务
service firewalld start
-
关闭firewalld服务
service firewalld stop
-
重启firewalld服务
service firewalld restart
-
查看防火墙规则
firewall-cmd --list-all
-
开启防火墙
systemctl start firewalld
-
关闭防火墙
systemctl stop firewalld
-
允firewall开机启动
systemctl disable firewalld
-
禁止firewall开机启动
systemctl enable firewalld
-
查询端口是否开放(8080)
firewall-cmd --query-port=8080/tcp
-
开放某一端口(8080)
firewall-cmd --permanent --add-port=8080/tcp
-
移除端口(8080)
firewall-cmd --permanent --remove-port=8080/tcp
-
重启防火墙
firewall-cmd --reload
3.3 ufw防火墙
3.3.1 ufw的位置
- ufw服务将配置存储在/etc/ufw/user.rules 中
3.3.2 基本操作
-
uwf安装
sudo apt-get install ufw
-
ufw卸载
sudo apt-get remove ufw
-
查看防火墙状态
ufw status
-
开启防火墙
ufw enable
-
禁用防火墙
ufw disable
-
添加某个端口
ufw allow in 33 ufw insert 2 allow in 22/tcp ufw allow 80/tcp
-
禁用某个端口
ufw deny in 33