mirror of
https://github.com/LCTT/TranslateProject.git
synced 2025-01-16 22:42:21 +08:00
Merge remote-tracking branch 'LCTT/master'
This commit is contained in:
commit
47973ac530
@ -1,30 +1,30 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (wxy)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-12123-1.html)
|
||||
[#]: subject: (Relive Linux history with the ROX desktop)
|
||||
[#]: via: (https://opensource.com/article/19/12/linux-rox-desktop)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
用 ROX 桌面版重温 Linux 历史
|
||||
用 ROX 桌面重温 Linux 历史
|
||||
======
|
||||
|
||||
> 这篇文章是 Linux 桌面 24 天特别系列的一部分。如果你想来一次有趣的时光之旅,ROX 桌面非常值得一试。
|
||||
|
||||
![Person typing on a 1980's computer][1]
|
||||
![](https://img.linux.net.cn/data/attachment/album/202004/18/151533n196wag64gwhs0ga.jpg)
|
||||
|
||||
[ROX][2] 桌面已经不再积极开发,而它的遗留问题至今仍然存在,即使在它活跃开发的时候,它也是一个另类的 Linux 桌面。当其他的桌面感觉与旧的 Unix 或 Windows 界面大致相似时,ROX 则属于 BeOS、AmigaOS 和 [RISC OS][3] 桌面阵营。
|
||||
[ROX][2] 桌面已经不再积极开发,而它的遗留问题至今仍然存在,但即使在它活跃开发的时候,它也是一个另类的 Linux 桌面。当其他的桌面感觉与旧式的 Unix 或 Windows 界面大致相似时,ROX 则属于 BeOS、AmigaOS 和 [RISC OS][3] 桌面阵营。
|
||||
|
||||
它专注于拖放式操作(这使得它的可访问性对某些用户来说并不理想)、点击式操作、弹出式上下文菜单,以及一个独特的应用程序目录系统,无需安装即可运行本地应用程序。
|
||||
|
||||
### 安装 ROX
|
||||
|
||||
如今,ROX 基本上都被遗弃了,只剩下一点残渣碎片留给用户自己去收集整理。幸运的是,这个难题相对来说比较容易解决,但是当你在发行版的软件仓库中找到 ROX 桌面的碎片时,不要被迷惑了,因为那并不是 ROX 桌面所有的碎片。ROX 常用的部分 —— 文件管理器([ROX-Filer][4])和终端([ROXTerm][5]) —— 似乎在大多数流行的发行版软件仓库中都有存在,你可以将它们作为独立的应用程序安装(和使用)。然而,要运行 ROX 桌面,你必须同时安装 ROX-Session 和它所依赖的库。
|
||||
如今,ROX 基本上都被遗弃了,只剩下一点残渣碎片留给用户自己去收集整理。幸运的是,这个难题相对来说比较容易解决,但是当你在发行版的软件仓库中找到 ROX 桌面的碎片时,不要被迷惑了,因为那并不是 ROX 桌面全部的碎片。ROX 常用的部分 —— 文件管理器([ROX-Filer][4])和终端([ROXTerm][5]) —— 似乎在大多数流行的发行版软件仓库中都有存在,你可以将它们作为独立的应用程序安装(并使用)。然而,要运行 ROX 桌面,你必须同时安装 ROX-Session 和它所依赖的库。
|
||||
|
||||
我在 Slackware 14.2 上安装了 ROX,但它应该可以在任何 Linux 或 BSD 系统上运行。
|
||||
|
||||
首先,你必须从其版本库中安装 [ROX-lib2][6]。按照它的理念,你要安装 ROX-lib2,只需下载tarball、[解压][7],然后将 `ROX-lib` 目录移动到 `/usr/local/lib` 下。
|
||||
首先,你必须从其版本库中安装 [ROX-lib2][6]。你要安装 ROX-lib2,按照它的理念,只需下载tarball、[解压][7],然后将 `ROX-lib` 目录移动到 `/usr/local/lib` 下就行。
|
||||
|
||||
接下来,你要安装 [ROX-Session][8]。这可能需要从源码中编译,因为它很可能不在你的软件仓库中。编译过程需要编译工具,这些工具在 Slackware 上是默认提供的,但在其他发行版中往往会被省略,以节省初始下载空间。根据你的发行版不同,你必须安装的包的名称也不同,所以请参考文档来了解具体内容。例如,在 Debian 发行版中,你可以在 [Debian 的 wiki][9] 中了解构建需求,而在 Fedora 发行版中,请参考 [Fedora 的文档][10]。安装了构建工具后,执行自定义的 ROX-Session 构建脚本。
|
||||
|
||||
@ -36,7 +36,7 @@ $ ./AppRun
|
||||
|
||||
如果你还没有从你的软件库中安装 ROX-Filer,请在继续之前安装。
|
||||
|
||||
这些组件共同组成了一个完整的 ROX 桌面。要登录到新桌面,请从当前桌面会话中注销。默认情况下,你的会话管理器(KDM、GDM、LightDM 或 XDM,视你的设置而定)会继续登录到您之前的桌面,所以在登录前必须覆盖。
|
||||
这些组件共同组成了一个完整的 ROX 桌面。要登录到新桌面,请从当前桌面会话中注销。默认情况下,你的会话管理器(KDM、GDM、LightDM 或 XDM,视你的设置而定)会继续登录到你之前的桌面,所以在登录前必须覆盖。
|
||||
|
||||
使用 SDDM:
|
||||
|
||||
@ -46,9 +46,9 @@ $ ./AppRun
|
||||
|
||||
![][12]
|
||||
|
||||
### ROX桌面特性
|
||||
### ROX 桌面特性
|
||||
|
||||
ROX 桌面默认情况下很简单,屏幕底部有一个面板,桌面上有一个通往主目录的快捷方式图标。面板中包含了一些常用位置的快捷方式。这就是 ROX 桌面的全部功能,至少在安装后就是这样。如果你想要时钟或日历或系统托盘,你需要找到提供这些功能的应用程序。
|
||||
ROX 桌面默认情况下很简单,屏幕底部有一个面板,桌面上有一个通往主目录的快捷方式图标。面板中包含了一些常用位置的快捷方式。这就是 ROX 桌面的全部功能,至少在安装后就是这样。如果你想要时钟、日历或系统托盘,你需要找到提供这些功能的应用程序。
|
||||
|
||||
![Default ROX desktop][13]
|
||||
|
||||
@ -56,7 +56,7 @@ ROX 桌面默认情况下很简单,屏幕底部有一个面板,桌面上有
|
||||
|
||||
面板也可以进行一些修改。你可以在其中放置不同的快捷方式,甚至可以创建自己的小程序。
|
||||
|
||||
没有应用菜单,也没有上下文菜单中的应用快捷方式。相反,你可以手动导航到 `/usr/share/applications`,或者你可以将你的应用目录或目录添加到 ROX 面板中。
|
||||
它没有应用菜单,也没有上下文菜单中的应用快捷方式。相反,你可以手动导航到 `/usr/share/applications`,或者你可以将你的应用目录或目录添加到 ROX 面板中。
|
||||
|
||||
![ROX desktop][14]
|
||||
|
||||
@ -64,9 +64,9 @@ ROX 桌面的工作流程集中在鼠标驱动上,让人联想到 Mac OS 7.5
|
||||
|
||||
### 应用程序目录、AppRun 和 AppImage
|
||||
|
||||
ROX 桌面有一个优雅的惯例,在这个惯例中,包含一个名为 `AppRun` 的脚本的目录就可以像一个应用程序一样被执行。这意味着,要制作一个 ROX 应用程序,你所要做的就是将代码编译到一个目录中,将一个名为`AppRun` 的脚本放在该目录的根目录下,执行你所编译的二进制文件,然后将该目录标记为可执行。ROX-Filer 会按照你设置的方式来显示一个目录,并以特殊的图标和颜色显示一个目录。当你点击一个应用程序目录,ROX-Filer 会自动运行里面的 `AppRun` 脚本。它的外观和行为就像一个已经安装好的应用程序,但它是在用户的主目录下的本地目录,不需要特殊的权限。
|
||||
ROX 桌面有一个优雅的惯例,按照此惯例,包含一个名为 `AppRun` 的脚本的目录就可以像一个应用程序一样被执行。这意味着,要制作一个 ROX 应用程序,你所要做的就是将代码编译到一个目录中,将一个名为`AppRun` 的脚本放在该目录的根目录下,来执行你所编译的二进制文件,然后将该目录标记为可执行即可。ROX-Filer 会按照你设置的方式来显示一个目录,并以特殊的图标和颜色显示一个目录。当你点击一个应用程序目录,ROX-Filer 会自动运行里面的 `AppRun` 脚本。它的外观和行为就像一个已经安装好的应用程序,但它是在用户的主目录下的本地目录,不需要特殊的权限。
|
||||
|
||||
这是一个方便的功能,但它是那些你使用时感觉很好的小功能之一,因为它很容易做到。它绝不是必要的,它只是比在本地建立一个应用程序,将目录隐藏在某个不显眼的地方,并建立一个快速的 `.desktop` 文件作为你的启动器,要领先了几步。然而,应用程序目录的概念已经当做灵感被 [AppImage][16] 打包系统所 [借鉴][15] 。
|
||||
这是一个方便的功能,但它是那些你使用时感觉很好的小功能之一,因为它很容易做到。它绝不是必要的,它只是比在本地建立一个应用程序,将目录隐藏在某个不显眼的地方,并建立一个快速的 `.desktop` 文件作为你的启动器,要领先了几步。然而,应用程序目录的概念已经当做灵感被 [AppImage][16] 打包系统所 [借鉴][15]。
|
||||
|
||||
### 为什么应该试试 ROX 桌面
|
||||
|
||||
@ -79,7 +79,7 @@ via: https://opensource.com/article/19/12/linux-rox-desktop
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[wxy](https://github.com/wxy)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,8 +1,8 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (geekpi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: reviewer: (wxy)
|
||||
[#]: publisher: (wxy)
|
||||
[#]: url: (https://linux.cn/article-12121-1.html)
|
||||
[#]: subject: (How to Add Multiple Time Zones in Ubuntu)
|
||||
[#]: via: (https://itsfoss.com/add-multiple-time-zones-ubuntu/)
|
||||
[#]: author: (Abhishek Prakash https://itsfoss.com/author/abhishek/)
|
||||
@ -10,11 +10,13 @@
|
||||
如何在 Ubuntu 中添加多个时区
|
||||
======
|
||||
|
||||
_**此教程展示了使用 GNOME 桌面环境在 Ubuntu 和其他发行版中为多个时区添加其他时钟的步骤。**_
|
||||
> 本快速教程介绍了在 Ubuntu 和其他发行版中使用 GNOME 桌面环境添加多时区时钟的步骤。
|
||||
|
||||
![](https://img.linux.net.cn/data/attachment/album/202004/18/142021jborblzkglbebrkk.jpg)
|
||||
|
||||
如果你的家人或同事在另一个国家,或者你居住在一个有多个时区的国家,那么了解时差就变得很重要。毕竟,你不想在凌晨 4 点打电话打扰别人。
|
||||
|
||||
一些 Linux 用户还会加一个 [UTC 时间][1]标签,因为大多数服务器都使用 UTC。
|
||||
一些 Linux 用户还会记下 [UTC 时间][1],因为大多数服务器都使用 UTC。
|
||||
|
||||
如果你有多个时钟,那么可以更好地管理此类情况。你可以将一个时钟设置为本地时间,并将其他时钟同步到其他时区。这使得了解不同时间变得更加容易。
|
||||
|
||||
@ -26,11 +28,11 @@ _**此教程展示了使用 GNOME 桌面环境在 Ubuntu 和其他发行版中
|
||||
|
||||
要添加其他时钟,可以使用一个叫 [GNOME Clocks][3] 的小程序。
|
||||
|
||||
GNOME Clocks 是一个简单的应用,它可以显示多个位置的时间和日期。你也可以使用它来设置闹钟或计时器。还包括秒表功能。
|
||||
GNOME Clocks 是一个简单的应用,它可以显示多个位置的时间和日期。你也可以使用它来设置闹钟或计时器,它还包括秒表功能。
|
||||
|
||||
GNOME Clocks 存在于 Ubuntu 的 Universe 仓库中。因此,请确保首先[启用 Universe 仓库][4]。
|
||||
|
||||
你可以在软件中心中搜索 GNOME Clocks 并从那里安装它。
|
||||
你可以在软件中心中搜索 “GNOME Clocks” 并从那里安装它。
|
||||
|
||||
![Gnome Clocks Ubuntu Software Center][5]
|
||||
|
||||
@ -42,13 +44,13 @@ sudo apt install gnome-clocks
|
||||
|
||||
如果你使用的是其他 Linux 发行版,那么请使用发行版的软件中心或软件包管理器来安装此程序。
|
||||
|
||||
安装后,请按 super 键(Windows 键)并搜索 clocks:
|
||||
安装后,请按 `Super` 键( `Windows` 键)并搜索 clocks:
|
||||
|
||||
![Gnome Clocks App Search Ubuntu][6]
|
||||
|
||||
启动程序,你应该会看到一个提供一些选项的界面,例如添加世界时钟、设置闹钟、使用秒表和计时器。
|
||||
启动程序,你应该会看到一个界面,提供一些选项,例如添加世界时钟、设置闹钟、使用秒表和计时器。
|
||||
|
||||
单击左上角的 + 号,它将为你提供搜索地理位置的选项。搜索,选择并添加。
|
||||
单击左上角的 “+” 号,它将为你提供搜索地理位置的选项。搜索、选择并添加。
|
||||
|
||||
![Adding additional clocks][7]
|
||||
|
||||
@ -56,13 +58,13 @@ sudo apt install gnome-clocks
|
||||
|
||||
![Multiple clocks for multiple time zones][8]
|
||||
|
||||
你可以使用 Super + M 键快速打开消息托盘。你可以掌握这些[有用的 Ubuntu 快捷方式][9]来节省时间。
|
||||
你可以使用 `Super + M` 键快速打开消息托盘。你可以掌握这些[有用的 Ubuntu 快捷方式][9]来节省时间。
|
||||
|
||||
如果要删除其他时钟,你可以从 GNOME Clocks 应用界面执行以下操作:
|
||||
|
||||
![Remove Additional Clocks][10]
|
||||
|
||||
你无法删除当前时区并设置为其他时区。有其他方法[更改 Linux 中的当前时区][11]。
|
||||
你无法(在这里)删除当前时区并设置为其他时区。有其他方法[更改 Linux 中的当前时区][11]。
|
||||
|
||||
我希望你喜欢这个快速技巧。欢迎提出问题和建议。
|
||||
|
||||
@ -73,7 +75,7 @@ via: https://itsfoss.com/add-multiple-time-zones-ubuntu/
|
||||
作者:[Abhishek Prakash][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[geekpi](https://github.com/geekpi)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
@ -1,128 +0,0 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (lxbwolf)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Getting started with Linux firewalls)
|
||||
[#]: via: (https://opensource.com/article/20/2/firewall-cheat-sheet)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
Getting started with Linux firewalls
|
||||
======
|
||||
A firewall is your computer's first line of defense against network
|
||||
intrusion. Download our cheat sheet to make sure you're secure.
|
||||
![Cheat Sheet cover image][1]
|
||||
|
||||
A sensible firewall is your computer's first line of defense against network intrusion. When you're at home, you're probably behind a firewall built into the router supplied by your internet service provider. When you're away from home, though, the only firewall you have is the one running on your computer, so it's important to configure and control the firewall on your Linux computer. If you run a Linux server, it's just as important to know how to manage your firewall so that you can protect it from unwanted traffic both locally and remotely.
|
||||
|
||||
### Install a firewall
|
||||
|
||||
Many Linux distributions ship with a firewall already installed, and traditionally that was **iptables**. It is extremely effective and customizable, but it can be complex to configure. Luckily, developers have produced several frontends to help users control their firewall without writing lengthy iptables rules.
|
||||
|
||||
On Fedora, CentOS, Red Hat, and similar distributions, the firewall software installed by default is **firewalld**, which is configured and controlled with the **firewall-cmd** command. On Debian and most other distributions, firewalld is available to install from your software repository. Ubuntu ships with the Uncomplicated Firewall (ufw), so to use firewalld, you must enable the **universe** repository:
|
||||
|
||||
|
||||
```
|
||||
$ sudo add-apt-repository universe
|
||||
$ sudo apt install firewalld
|
||||
```
|
||||
|
||||
You must also deactivate ufw:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo systemctl disable ufw`
|
||||
```
|
||||
|
||||
There's no reason _not_ to use ufw. It's an excellent firewall frontend. However, this article focuses on firewalld because of its wide availability and integration into systemd, which is shipped with nearly every distribution.
|
||||
|
||||
Regardless of your distribution, for a firewall to be effective, it must be active, and it should be loaded at boot time:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo systemctl enable --now firewalld`
|
||||
```
|
||||
|
||||
### Understanding firewall zones
|
||||
|
||||
Firewalld aims to make firewall configuration as simple as possible. It does this by establishing _zones_. A zone is a set of sensible, common rules that suit the everyday needs of most users. There are nine by default:
|
||||
|
||||
* **trusted:** All network connections are accepted. This is the least paranoid firewall setting and should only be used in a trusted environment, such as a test lab or in a family home where everyone on the local network is known to be friendly.
|
||||
* **home, work, internal:** In these three zones, most incoming connections are accepted. They each exclude traffic on ports that usually expect no activity. Any of them is a reasonable setting for use in a home setting where there is no reason to expect network traffic to obscure ports, and you generally trust the other users on the network.
|
||||
* **public:** For use in public areas. This is a paranoid setting, intended for times when you do not trust other computers on the network. Only selected common and mostly safe incoming connections are accepted.
|
||||
* **dmz:** DMZ stands for demilitarized zone. This zone is intended for computers that are publically accessible, located on an organization's external network with limited access to the internal network. For personal computers, this is usually not a useful zone, but it is an important option for certain types of servers.
|
||||
* **external:** For use on external networks with masquerading enabled (meaning the addresses of your private network are mapped to and hidden behind a public IP address). Similar to the dmz zone, only selected incoming connections are accepted, including SSH.
|
||||
* **block:** Only network connections initiated within this system are possible, and all incoming network connections are rejected with an **icmp-host-prohibited** message. This is an extremely paranoid setting and is an important option for certain types of servers or personal computers in an untrusted or hostile environment.
|
||||
* **drop:** Any and all incoming network packets are dropped with no reply. Only outgoing network connections are possible. The only setting more paranoid than this one is turning off your WiFi and unplugging your Ethernet cable.
|
||||
|
||||
|
||||
|
||||
You can read about each zone and any other zones defined by your distribution or sysadmin by looking at the configuration files in **/usr/lib/firewalld/zones**. For instance, here's the FedoraWorkstation zone that ships with Fedora 31:
|
||||
|
||||
|
||||
```
|
||||
$ cat /usr/lib/firewalld/zones/FedoraWorkstation.xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<zone>
|
||||
<short>Fedora Workstation</short>
|
||||
<description>Unsolicited incoming network packets are rejected from port 1 to 1024, except for select network services. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed.</description>
|
||||
<service name="dhcpv6-client"/>
|
||||
<service name="ssh"/>
|
||||
<service name="samba-client"/>
|
||||
<port protocol="udp" port="1025-65535"/>
|
||||
<port protocol="tcp" port="1025-65535"/>
|
||||
</zone>
|
||||
```
|
||||
|
||||
### Getting your current zone
|
||||
|
||||
You can see what zone you're in at any time with the **\--get-active-zones** option:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo firewall-cmd --get-active-zones`
|
||||
```
|
||||
|
||||
In response, you receive the name of the active zone along with the network interface assigned to it. On a laptop, that usually means you have a WiFi card in the default zone:
|
||||
|
||||
|
||||
```
|
||||
FedoraWorkstation
|
||||
interfaces: wlp61s0
|
||||
```
|
||||
|
||||
### Change your current zone
|
||||
|
||||
To change your zone, reassign your network interface to a different zone. For instance, to change the example **wlp61s0** card to the public zone:
|
||||
|
||||
|
||||
```
|
||||
$ sudo firewall-cmd --change-interface=wlp61s0 \
|
||||
\--zone=public
|
||||
```
|
||||
|
||||
You can change the active zone for an interface any time you please and for any reason—whether you're going out to a café and feel the need to increase your laptop's security policy, or you're going to work and need to open up some ports to get on the intranet, or for any other reason. The options for **firewall-cmd** auto-complete when you press the **Tab** key, so as long as you remember the keywords "change" and "zone," you can stumble through the command until you learn it by memory.
|
||||
|
||||
### Learn more
|
||||
|
||||
There's a lot more you can do with your firewall, including customizing existing zones, setting a default zone, and more. The more comfortable with firewalls you get, the more secure your online activities are, so we've created a [cheat sheet][2] for quick and easy reference.
|
||||
|
||||
### Download your [firewall cheat sheet][2]
|
||||
|
||||
David Both shares how he replaced his dedicated network firewall computer with a Raspberry Pi 2.
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/2/firewall-cheat-sheet
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[译者ID](https://github.com/译者ID)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/coverimage_cheat_sheet.png?itok=lYkNKieP (Cheat Sheet cover image)
|
||||
[2]: https://opensource.com/downloads/firewall-cmd-cheat-sheet
|
@ -1,5 +1,5 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: ( )
|
||||
[#]: translator: (Zioyi)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
|
127
translated/tech/20200228 Getting started with Linux firewalls.md
Normal file
127
translated/tech/20200228 Getting started with Linux firewalls.md
Normal file
@ -0,0 +1,127 @@
|
||||
[#]: collector: (lujun9972)
|
||||
[#]: translator: (lxbwolf)
|
||||
[#]: reviewer: ( )
|
||||
[#]: publisher: ( )
|
||||
[#]: url: ( )
|
||||
[#]: subject: (Getting started with Linux firewalls)
|
||||
[#]: via: (https://opensource.com/article/20/2/firewall-cheat-sheet)
|
||||
[#]: author: (Seth Kenlon https://opensource.com/users/seth)
|
||||
|
||||
Linux 防火墙入门教程
|
||||
======
|
||||
防火墙是你的计算机防止网络入侵的第一道屏障。为确保你的安全,请下载我们的备忘单。
|
||||
![Cheat Sheet cover image][1]
|
||||
|
||||
合理的防火墙是你的计算机防止网络入侵的第一道屏障。你在家里上网,通常互联网服务提供会在路由中搭建一层防火墙。如果不在家里上网,那么你计算机上的那层防火墙就是仅有的一层,因为配置和控制好你 Linux 电脑上的防火墙很重要。如果你维护一台 Linux 服务器,知道怎么去管理你的防火墙同样重要,只要掌握了这些知识你才能保护你的服务器免于本地或远程非法流量的入侵。
|
||||
|
||||
### 安装防火墙
|
||||
|
||||
很多 Linux 发行版本已经自带了防火墙,通常是 `iptables`。它很强大并可以自定义,但配置起来有点复杂。幸运的是,有开发者写出了一些前端界面来帮助用户不需要写冗长的 iptables 规则就可以控制防火墙。
|
||||
|
||||
在 Fedora,CentOS,Red Hat 和一些类似的发行版本上,默认安装的防火墙软件是 `firewalld`,是用 **firewall-cmd** 命令来配置和控制的。在 Debian 和大部分其他发行版上,可以从你的软件仓库安装 firewalld。Ubuntu 自带的是 Uncomplicated Firewall(ufw),所以你必须打开 **universe** 库才能使用 firewalld:
|
||||
|
||||
|
||||
```
|
||||
$ sudo add-apt-repository universe
|
||||
$ sudo apt install firewalld
|
||||
```
|
||||
|
||||
你还需要停用 ufw:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo systemctl disable ufw`
|
||||
```
|
||||
|
||||
没有理由*不*用 ufw。它是一个强大的防火墙前端。然而,本文重点讲 firewalld,因为大部分发行版都支持它而且它集成到了 systemd,systemd 是几乎所有发行版都自带的。
|
||||
|
||||
不管你的发行版是哪个,都要先激活防火墙才能让它生效,激活需要在启动时加载:
|
||||
|
||||
|
||||
```
|
||||
`$ sudo systemctl enable --now firewalld`
|
||||
```
|
||||
|
||||
### 理解防火墙的 zone
|
||||
|
||||
Firewalld 旨在让防火墙的配置工作尽可能简单。它通过建立 *zone* 来实现这个目标。一个 zone 是一类型的合理、通用的规则,这些规则适配大部分用户的日常需求。
|
||||
|
||||
* **trusted:** 接受所有的连接。这是最低级别的防火墙设置,只能在一个完全信任的环境中,如测试实验室或网络中相互都认识的家庭网络中。
|
||||
* **home, work, internal: **在这三个 zone 中,接受大部分来的连接。它们每个都会拒绝不活跃的端口进来的流量。这三个都适合用于家庭环境中,因为在家庭环境中不会出现端口模糊的网络流量,在家庭网络中你可以基本信任其他的用户。
|
||||
* **public:** 用于公共区域内。这是个极端的设置,当你不信任网络中的其他计算机时使用。只能接收经过选择的和基本安全的连接。
|
||||
* **dmz:** DMZ 表示隔离区。这个 zone 多用于可公开访问的计算机,属于某个组织的外部网络不能完全访问内网的计算机。对于个人计算机,它没什么用,但是对某类服务器来说它是个很重要的选项。
|
||||
* **external:** 用于外部网络,会开启伪装(你私人网络的地址被映射到一个外网 IP 地址,并隐藏起来)。跟 DMZ 类似,仅接受经过选择的连接,包括 SSH。
|
||||
* **block:** 仅接收在本系统中初始化的网络连接。接收到的任何网络连接都会被 **icmp-host-prohibited** 信息拒绝。这个一个极度偏激的设置,对于某类服务器或处于不信任或不安全的环境中的个人计算机来说很重要。
|
||||
* **drop:** 接收的所有网络包都被丢弃,没有任何回复。仅能有发送出去的网络连接。比这个设置更极端的办法,只有关闭 WiFi 和拔掉网线。
|
||||
|
||||
|
||||
|
||||
你可以查看你发行版本的所有 zone,或通过配置文件 **/usr/lib/firewalld/zones** 来查看管理员设置。举个例子:下面是 Fefora 31 自带的 FedoraWorkstation zone:
|
||||
|
||||
|
||||
```
|
||||
$ cat /usr/lib/firewalld/zones/FedoraWorkstation.xml
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<zone>
|
||||
<short>Fedora Workstation</short>
|
||||
<description>Unsolicited incoming network packets are rejected from port 1 to 1024, except for select network services. Incoming packets that are related to outgoing network connections are accepted. Outgoing network connections are allowed.</description>
|
||||
<service name="dhcpv6-client"/>
|
||||
<service name="ssh"/>
|
||||
<service name="samba-client"/>
|
||||
<port protocol="udp" port="1025-65535"/>
|
||||
<port protocol="tcp" port="1025-65535"/>
|
||||
</zone>
|
||||
```
|
||||
|
||||
### 获取当前的 zone
|
||||
|
||||
任何时候你都可以通过 **\--get-active-zones** 选项来查看你是在哪个 zone
|
||||
|
||||
|
||||
```
|
||||
`$ sudo firewall-cmd --get-active-zones`
|
||||
```
|
||||
|
||||
输出结果中,会有当前活跃的 zone 名字和分配给它的网络接口。笔记本电脑上,在默认 zone 中通常意味着你有个 WiFi 卡:
|
||||
|
||||
|
||||
```
|
||||
FedoraWorkstation
|
||||
interfaces: wlp61s0
|
||||
```
|
||||
|
||||
### 修改你当前的 zone
|
||||
|
||||
把你的网络接口分配给另一个 zone,就可以改变 zone。例如,把例子中的 **wlp61s0** 卡修改为 public zone:
|
||||
|
||||
|
||||
```
|
||||
$ sudo firewall-cmd --change-interface=wlp61s0 \
|
||||
\--zone=public
|
||||
```
|
||||
|
||||
你可以为一个接口修改活跃的 zone,不管出于什么理由 — 无论你是要出去喝杯咖啡还是感觉有必要增强笔记本电脑的安全策略,无论是你要去工作需要开启某些端口才能进入内联网,还是任何其他的理由。在你凭记忆学会 **firewall-cmd** 命令之前,你只要记住了关键词 ”change“ 和 ”zone“,就可以慢慢掌握,因为按下 **Tab** 时,它的选项会自动补全。
|
||||
|
||||
### 更多信息
|
||||
|
||||
你可以用你的防火墙干更多的事,比如自定义已存在的 zone,设置默认的 zone,等等。你对防火墙越了解,你在网上的活动就越安全,所以我们创建了一个[备忘单][2]便于速查和参考。
|
||||
|
||||
### 下载你的 [防火墙备忘单][2]
|
||||
|
||||
David Both分享了他是怎样用树莓派 2 替换他的专用网络防火墙电脑的。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: https://opensource.com/article/20/2/firewall-cheat-sheet
|
||||
|
||||
作者:[Seth Kenlon][a]
|
||||
选题:[lujun9972][b]
|
||||
译者:[lxbwolf](https://github.com/lxbwolf)
|
||||
校对:[校对者ID](https://github.com/校对者ID)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||
|
||||
[a]: https://opensource.com/users/seth
|
||||
[b]: https://github.com/lujun9972
|
||||
[1]: https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/coverimage_cheat_sheet.png?itok=lYkNKieP (Cheat Sheet cover image)
|
||||
[2]: https://opensource.com/downloads/firewall-cmd-cheat-sheet
|
Loading…
Reference in New Issue
Block a user