Ubuntu Linux配置方法

1. 查看防火墙状态

进入root权限

ufw status verbose

状态:不活动

2.先把ssh的权限打开

这么做的目的是防止把自己关在外面了,如果你是其他端口,记得把22换成你实际的ssh端口好。

ufw allow 22

防火墙规则已更新

规则已更新(v6)

3.打开防火墙

完成以上两步后,可以打开防火墙:

ufw enable

此命令可能会中断目前的 ssh 连接。要继续吗 (y|n)? y

在系统启动时启用和激活防火墙

4.添加规则

根据需要添加规则,根据你现在服务器打开的端口,可以将规则添加进去,如果需要查看当前的端口开启情况,可以用如下命令:

netstat -tnlp

添加防火墙规则(xxx表示端口号):

ufw allow xxx

删除已经有的防火墙规则:

ufw delete allow xxx

拒绝访问规则:

ufw deny xxx

缺省的规则:

ufw default deny

5.修复docker缺省打开防火墙问题

在实际使用过程中,可能会采用docker容器的方式,如果没有设置的情况下,可能会造成防火墙已经做了设置但没有生效。比如已经拒绝了80端口访问,但是远程用 curl照常可以访问的情况。原因就是docker里面设置了自动添加防火墙规则,导致只要docker有映射端口,防火墙就自动打开对应端口的问题。

为解决这个问题需要在docker配置文件下做出修改:

1)修改docker的配置文件

修改/etc/docker/daemon.json(若没有就新建一个):

vi /etc/docker/daemon.json

添加如下内容:

{

"iptables": false

}

2)重启docker:

systemctl restart docker

再次访问,会发现防火墙已经生效了。

6.设置无法ping主机

为了有效保护自己的主机,可以让远程终端无法ping通自己的主机,这个需要单独进行设置,并且ipv4和ipv6都需要进行设置:

1)ipv4设置

编辑文件:

vi /etc/ufw/before.rules

找到这一行,把最后的单词由ACCEPT修改成DROP:

-A ufw-before-input -p icmp --icmp-type echo-request -j DROP

修改完成后,保存并且退出;

2)修改ipv6设置

编辑文件:

vi /etc/ufw/before6.rules

类似,找到这一行,并最后的单词由ACCEPT修改成DROP:

-A ufw6-before-input -p icmpv6 --icmpv6-type echo-request -j DROP

保存并且退出;

3)重新加载防火墙

ufw reload

再次测试会发现,无法ping通主机了,至此防火墙基本设置全部完成。

相关推荐
第404号工位3 分钟前
“已彻底删除”的照片与文件到底去哪了?我用底层扇区扫描,扒出手机和电脑的幽灵数据
linux·python·架构
xianyuCcCcCCCcc10 分钟前
Ceph 分布式存储:集群配置与存储池管理
运维·分布式·ceph
硅基手札1 小时前
SPI技术系列 12 · SPI 设备驱动实战
linux·驱动开发·单片机·嵌入式硬件·mcu·性能优化·系统架构
不悔哥1 小时前
ESP32上跑 Linux: 乐鑫给 ESP32-S31开放了官方 BSP
linux·嵌入式硬件·开源
syagain_zsx1 小时前
WebSocket 教程:websocketpp 写 echo 服务端
linux·网络·c++·websocket·网络协议·工具库
爬也要爬着前进1 小时前
Prometheus通过Nginx-vts-exporter模块监控nginx服务
运维·nginx·prometheus
无足鸟ICT2 小时前
【RHCA+】_etc_yum.repos.d_文件名.repo
linux·运维·centos
骑着蜗牛撵大象3272 小时前
字节序、TLV 到 netlink:Linux 网络消息的编解码全链路
linux·网络·php·etl·序列化·字节序·tlv
tianyuanwo2 小时前
RPM Spec中Name: %{?scl_prefix}xxx中增加宏定义的设计原理
linux·服务器·rpm·scl
张小姐的猫2 小时前
【MySQL】数据类型
android·linux·数据库·c++·mysql·adb·php