{% note info simple %}
以下设置均在Ubuntu中操作
{% endnote %}
UFW防火墙配置
小白使用UFW
如果你对防火墙不了解,那么,这里适合你,按照以下步骤操作即可
Ubuntu安装UFW
bash
sudo apt-get install ufw

CentOS安装UFW
CentOS默认软件源不提供UFW,所以你需要安装EPEL软件源,运行以下命令:
bash
yum install epel-release -y
安装完成后使用以下命令安装UFW:
bash
yum install --enablerepo="epel" ufw -y
安装完成了,就可以使用下面的命令了。
启动UFW
bash
sudo ufw enable
默认拒绝外部访问本机
bash
sudo ufw default deny
开放/拒绝端口
如需外部访问本机某端口,则使用以下开放端口命令
bash
# 举例:开放 8080 端口
sudo ufw allow 8080
# 举例:拒绝外部访问 8090 端口
sudo ufw deny 8090
UFW防火墙未开启

UFW安装
bash
sudo apt-get install ufw
启动防火墙
bash
sudo ufw enable #开启防火墙
sudo ufw default deny # 设置拒绝外部访问本机
运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。

禁止开机启动UFW(关闭UFW)
bash
sudo ufw disable
开启/禁用服务
bash
sudo ufw allow|deny [service]
开启/禁用端口
bash
sudo ufw allow|deny [service]
举例
允许所有的外部IP访问本机的25/tcp (smtp)端口
bash
sudo ufw allow smtp
允许所有的外部IP访问本机的22/tcp (ssh)端口
bash
sudo ufw allow 22/tcp
允许外部访问53端口(tcp/udp)
bash
sudo ufw allow 53
禁用53端口
bash
sudo ufw delete allow 53
指定IP访问所有的本机端口
bash
sudo ufw allow from 192.168.1.100
删除某条这条规则
即上面刚新建的规则
bash
sudo ufw delete allow from 192.168.1.100
禁止外部访问smtp服务
bash
sudo ufw deny smtp
删除上面建立的某条规则
bash
sudo ufw delete allow smtp
查看防火墙状态及规则
bash
sudo ufw status
开启/关闭防火墙
bash
sudo ufw enable|disable
转换日志状态
bash
sudo ufw logging on|off
设置默认策略
(比如 “mostly open” vs “mostly closed”)
bash
sudo ufw default allow|deny
查看防火墙版本
bash
sudo ufw version
重启UFW防火墙
bash
sudo ufw reload
重置UFW防火墙配置
bash
sudo ufw reset
Firewalld防火墙配置
Firewalld是CentOS 7的防火墙,但,Firewalld底层调用的命令还是iptables,所以后面也有必要学一学iptables防火墙。
启动、关闭、重启
启动防火墙
bash
systemctl start firewalld
关闭防火墙
bash
systemctl stop firewalld
重启防火墙
bash
systemctl restart firewalld.service
开机自启、开机不启动
开机自启
开机自动启动防火墙。
bash
systemctl enable firewalld
开机启动
表示开机自动关闭防火墙。
bash
systemctl disable firewalld.service # 设置开机不启动
查看防火墙
查看防火墙状态
bash
systemctl status firewalld.service
查看防火墙默认状态
bash
firewall-cmd --state
查看防火墙的服务
bash
firewall-cmd --get-services
查看防火墙正在使用的域
bash
firewall-cmd --get-active-zones
查看防火墙默认域
bash
firewall-cmd --get-default-zone
查看防火墙的域
bash
firewall-cmd --get-zones
列出public域的所有设置
bash
firewall-cmd --zone=public --list-all
查看已启动的服务列表
bash
systemctl list-unit-files|grep enabled
开启端口
这里指定开启80端口,并且是tcp协议,如果需要udp,将tcp改为udp即可
bash
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
–zone :作用域
–add-port=80/tcp :添加端口,格式为:端口/通讯协议
–permanent :永久生效,没有此参数重启后失效
开启 or 关闭防火墙端口,都需要重新加载防火墙才生效
加载防火墙配置
操作
Firewalld防火墙命令必须reload才生效
bash
firewall-cmd --reload
Iptables防火墙配置
开放端口
案例一
bash
iptables -I INPUT -p tcp --dport 8001 -j ACCEPT
-
-p:采用tcp协议 -
-j:动作为ACCEPT
案例二
bash
iptables -t filter A INPUT -p tcp --dport 22 -j ACCEPT
参数:
-
-t:表的选择 -
A:追加 -
-p:采用tcp协议 -
-dport:指定开放端口22 -
-j:动作为ACCEPT
本文是原创文章,采用 CC BY-NC-SA 4.0 协议,完整转载请注明来自 小码同学
评论
隐私政策
0/500
滚动到此处加载评论...


