Bootstrap

ubuntu防火墙入门(一)——设置服务、关闭端口

本机想通过git clone [email protected]:skumra/robotic-grasping.git下载代码,firewall-config中需要为当前区域的防火墙开启SSH服务吗

是的,如果你想通过 git clone [email protected]:skumra/robotic-grasping.git 使用 SSH 协议从 GitHub 下载代码,你需要确保防火墙允许 SSH 服务的流量。通常,SSH 服务使用端口 22。

你可以通过以下步骤在防火墙中开启 SSH 服务:

  1. 检查当前区域:首先,确认你当前的防火墙区域,可以使用以下命令:

    firewall-cmd --get-active-zones
    
  2. 开启 SSH 服务:在确认了当前区域后,使用以下命令开启 SSH 服务(假设当前区域是 public):

    firewall-cmd --zone=public --add-service=ssh --permanent
    
  3. 重新加载防火墙:执行完上述命令后,重新加载防火墙以使更改生效:

    firewall-cmd --reload
    

完成这些步骤后,你应该能够通过 SSH 成功克隆 GitHub 上的代码。如果你在执行这些步骤时遇到任何问题,请随时询问。

如何用firewall-cmd展示当前区域的可用服务

你可以使用 firewall-cmd 命令来展示当前区域的可用服务。以下是具体的步骤:

  1. 查看当前活动区域
    首先,你可以使用以下命令查看当前活动的区域:

    firewall-cmd --get-active-zones
    
  2. 展示当前区域的可用服务
    假设你已经知道当前活动区域的名称(例如 public),你可以使用以下命令来列出该区域的可用服务:

    firewall-cmd --zone=public --list-services
    

    如果你不确定当前区域的名称,可以将上面的命令中的 public 替换为你在第一步中找到的区域名称。

  3. 查看所有区域的服务
    如果你想查看所有区域的服务,可以使用以下命令:

    firewall-cmd --list-all-zones
    

这些命令将帮助你了解当前区域的可用服务以及防火墙的配置状态。

firewall-cmd --zone=public --add-service=ssh --permanent对应的firewalld的命令是什么?

firewalld 是一个动态管理防火墙的工具,而 firewall-cmd 是与 firewalld 交互的命令行工具。你提到的命令 firewall-cmd --zone=public --add-service=ssh --permanent 是用来在 public 区域中永久添加 SSH 服务的。

如果你想使用 firewalld 的配置文件直接进行相同的操作,通常你会编辑配置文件,而不是使用命令行。具体来说,firewalld 的区域和服务配置文件通常位于 /etc/firewalld/zones/ 目录下。

  1. 编辑区域配置文件
    你可以打开 public.xml 文件(假设你要修改的是 public 区域):

    sudo vi /etc/firewalld/zones/public.xml
    
  2. 添加 SSH 服务
    <service> 标签内添加 SSH 服务,类似于:

    <service name="ssh"/>
    
  3. 保存并退出

  4. 重新加载 firewalld
    修改完配置文件后,你需要重新加载 firewalld 以使更改生效:

    sudo firewall-cmd --reload
    

请注意,直接编辑配置文件的方法不如使用 firewall-cmd 命令方便和安全,通常推荐使用命令行工具来进行动态配置。

ubuntu自带firewalld吗
Ubuntu 默认并不自带 firewalld,而是使用 ufw(Uncomplicated Firewall)作为其防火墙管理工具。ufw 是一个更简单的防火墙管理工具,适合大多数用户的需求。

如果你想使用 firewalld,你可以手动安装它。以下是安装和启用 firewalld 的步骤:

  1. 安装 firewalld
    打开终端并运行以下命令:

    sudo apt update
    sudo apt install firewalld
    
  2. 启动 firewalld
    安装完成后,你可以启动 firewalld

    sudo systemctl start firewalld
    
  3. 设置 firewalld 开机自启
    如果你希望 firewalld 在系统启动时自动启动,可以运行:

    sudo systemctl enable firewalld
    
  4. 检查 firewalld 状态
    你可以使用以下命令检查 firewalld 是否正在运行:

    sudo systemctl status firewalld
    

如果你决定使用 firewalld,请注意在使用之前禁用 ufw,以避免冲突:

sudo ufw disable

这样,你就可以在 Ubuntu 上使用 firewalld 了。

ubuntu如何查看本机开放端口?
在 Ubuntu 上,你可以使用多种方法来查看本机开放的端口。以下是一些常用的方法:

1. 使用 netstat 命令

netstat 是一个网络统计工具,可以显示网络连接、路由表、接口统计等信息。你可以使用以下命令查看开放的端口:

sudo netstat -tuln
  • -t:显示 TCP 连接
  • -u:显示 UDP 连接
  • -l:仅显示监听状态的端口
  • -n:以数字形式显示地址和端口号

2. 使用 ss 命令

ss 是一个更现代的工具,通常比 netstat 更快。你可以使用以下命令查看开放的端口:

sudo ss -tuln

3. 使用 lsof 命令

lsof 是一个列出当前系统打开文件的工具。你可以使用以下命令查看开放的端口:

sudo lsof -i -P -n | grep LISTEN
  • -i:显示网络连接
  • -P:以数字形式显示端口号
  • -n:以数字形式显示地址

4. 使用 nmap 命令

如果你安装了 nmap,可以使用它来扫描本机的开放端口。首先,你需要安装 nmap

sudo apt install nmap

然后运行以下命令:

nmap -sT -O localhost

5. 使用 firewall-cmd(如果使用 firewalld

如果你使用 firewalld,可以使用以下命令查看开放的端口:

sudo firewall-cmd --list-ports

这些方法可以帮助你查看 Ubuntu 系统上开放的端口。选择适合你需求的方法即可。

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-28 09:44 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00012s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT    STATE SERVICE
631/tcp open  ipp
Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:linux_kernel:2.6.32
OS details: Linux 2.6.32
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.35 seconds

ubuntu如何关闭631端口?
要关闭 Ubuntu 上的 631 端口(通常用于 Internet Printing Protocol, IPP),你可以通过停止 CUPS 服务和配置防火墙来实现。以下是具体步骤:

1. 停止 CUPS 服务

首先,你需要停止 CUPS 服务,这样它就不会再监听 631 端口。

sudo systemctl stop cups

如果你希望在系统重启时不再自动启动 CUPS 服务,可以禁用它:

sudo systemctl disable cups

2. 检查端口是否关闭

你可以使用以下命令检查 631 端口是否仍在监听:

sudo ss -tuln | grep 631

如果没有输出,说明端口已经关闭。

3. 配置防火墙(可选)

如果你希望通过防火墙来阻止访问 631 端口,可以使用 ufwfirewalld

使用 ufw

如果你使用 ufw,可以运行以下命令来拒绝 631 端口的访问:

sudo ufw deny 631
使用 firewalld

如果你使用 firewalld,可以运行以下命令来关闭 631 端口:

sudo firewall-cmd --zone=public --remove-port=631/tcp --permanent
sudo firewall-cmd --reload

4. 验证防火墙设置

你可以再次检查防火墙设置,确保 631 端口已被阻止:

  • 对于 ufw

    sudo ufw status
    
  • 对于 firewalld

    sudo firewall-cmd --list-ports
    

完成这些步骤后,631 端口将被关闭,CUPS 服务也不会再监听该端口。

A Priliminary Victory

please maintain humble
remember to test your localhost with nmap next times

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-28 09:50 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00014s latency).
All 1000 scanned ports on localhost (127.0.0.1) are in ignored states.
Not shown: 1000 closed tcp ports (conn-refused)
Too many fingerprints match this host to give specific OS details
Network Distance: 0 hops

OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1.50 seconds
;