如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FirewallD是动态管理的防火墙,它支持基于RHEL 7的服务器上可用的IPv4和IPv6防火墙规则以及防火墙区域。它是iptables
内核netfilter
代码的直接替代品,并且可以使用。
本文将简要介绍使用firewall-cmd
命令在CentOS 7上管理防火墙。
第一步是检查FirewallD是否已安装并正在运行。这可以通过systemd
运行以下命令来完成:
$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago
...
或者,您可以使用以下firewall-cmd
工具进行检查:
$ firewall-cmd --state
running
FirewallD使用zones
区域定义连接所用信任级别的概念进行操作。您可以将不同的网络接口划分为不同的区域,以便对每个接口应用特定的防火墙规则,也可以对所有接口使用一个区域。
开箱即用,所有操作都在默认public
区域上完成,但是也可以应用其他几个预配置区域。
您可能需要获取所有可用区域的列表,其中有些是开箱即用的。同样,可以使用firewall-cmd
以下命令完成此操作:
$ firewall-cmd --get-zones
block dmz drop external home internal public trusted work
您可以使用来发现当前配置的默认区域firewall-cmd
:
$ firewall-cmd --get-default-zone
public
如果您想更改默认区域(例如home
),可以通过运行以下命令来完成:
$ firewall-cmd --set-default-zone=home
success
此信息将反映在主配置文件中/etc/firewalld/firewalld.conf
。但是,建议您不要手动修改此文件,而应使用firewall-cmd
。
您可以通过运行以下命令获取分配接口的区域列表:
$ firewall-cmd --get-active-zones
public
interfaces: eth0
您还可以eth0
通过运行以下命令检查单个接口的区域(在这种情况下):
$ firewall-cmd --get-zone-of-interface=eth0
public
如果默认的预配置区域不能完全满足您的需求,那么zone1
再次创建新区域()的最简单方法是firewall-cmd
:
$ firewall-cmd --permanent --new-zone=zone1
success
创建后,您需要重新加载:
$ firewall-cmd --reload
success
为了将网络接口永久分配给一个区域,您可以使用firewall-cmd
记住--permanent
保留该标记以保留更改的方法。如果使用NetworkManager
,则还应确保使用nmcli
来设置连接区域。
$ firewall-cmd --permanent --zone=internal --change-interface=eth1`
success
为了检查区域的永久配置(public
在这种情况下),包括分配的接口,允许的服务,端口设置等,请运行:
$ firewall-cmd --permanent --zone=public --list-all
public (default)
interfaces:
sources:
services: dhcpv6-client ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
一旦分配并配置了所需的区域,就可以开始向区域添加服务。服务描述了可以为区域访问的协议和端口。
在firewalld中预先配置了许多常用服务。这些可以列出:
$ firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https
您还可以获取为默认区域启用的服务的列表:
$ firewall-cmd --list-services
dhcpv6-client ssh
您可以public
使用以下--add-service
标志永久启用区域()的给定服务:
$ firewall-cmd --permanent --zone=public --add-service=http
success
然后重新加载当前的防火墙会话:
$ firewall-cmd --reload
success
然后,验证是否已添加:
$ firewall-cmd --zone=public --list-services
dhcpv6-client http ssh
您可以public
使用以下--remove-service
标志永久删除区域()的给定服务:
$ firewall-cmd --permanent --zone=public --remove-service=http
success
然后重新加载当前的防火墙会话:
$ firewall-cmd --reload
success
然后,验证是否已添加:
$ firewall-cmd --zone=public --list-services
dhcpv6-client ssh
您可以添加或删除多个服务(例如,http
和https
从区按一次一个一次通过在大括号包裹所需的服务名称(),或全部{
,}
):
$ firewall-cmd --permanent --zone=public --add-service=
success
$ firewall-cmd --permanent --zone=public --list-services
dhcpv6-client http https ssh
有时您可能需要添加新的自定义服务-例如,如果您已更改SSH守护程序的端口。服务是使用简单的XML文件定义的,默认文件位于/usr/lib/firewalld/services
:
$ tree /usr/lib/firewalld/services
/usr/lib/firewalld/services
├── amanda-client.xml
├── bacula-client.xml
├── bacula.xml
├── dhcpv6-client.xml
├── dhcpv6.xml
├── dhcp.xml
├── dns.xml
├── freeipa-ldaps.xml
├── freeipa-ldap.xml
├── freeipa-replication.xml
├── ftp.xml
├── high-availability.xml
├── https.xml
├── http.xml
...
创建新服务的最简单方法是复制这些现有服务文件之一并进行修改。定制服务应位于中/etc/firewalld/services
。例如,自定义SSH服务:
$ cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-custom.xml
此复制文件的内容应类似于:
$ cat /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="22"/>
</service>
为了更改端口,您应该更改服务的简称和端口。您也可以根据需要更改描述,但这只是用户界面或其他应用程序可以使用的额外元数据。在此示例中,我将端口更改为1234:
$ nano /etc/firewalld/services/ssh-custom.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SSH-Custom</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol="tcp" port="1234"/>
</service>
保存后,您将需要重新加载防火墙,然后可以将规则应用于您的区域:
$ firewall-cmd --reload
success
$ firewall-cmd --permanent --zone=public --add-service=ssh-custom
success
除了使用服务之外,您还可以按协议手动允许端口。要允许7777
该public
区域的TCP端口:
$ firewall-cmd --permanent --zone=public --add-port=7777/tcp
success
您还可以添加端口范围:
$ firewall-cmd --permanent --zone=public --add-port=7000-8000/tcp
success
要删除(并因此拒绝)7777
该public
区域的TCP端口:
$ firewall-cmd --permanent --zone=public --remove-port=7777/tcp
success
public
重新加载当前防火墙会话后,您还可以列出给定区域()当前允许的端口:
$ firewall-cmd --zone=public --list-ports
7000-8000/tcp
一旦按照自己的喜好配置了防火墙,就应该确保通过systemd启用它,以确保它在启动时启动:
$ systemctl enable firewalld
FirewallD中还有许多其他设置和选项,例如端口转发,伪装和通过D-Bus与防火墙通信。希望本指南可以帮助您掌握基础知识,并为您提供了开始对服务器进行防火墙保护的工具。下面的一些其他阅读材料将帮助您充分利用防火墙。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件
简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供
使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用
MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商
H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装
使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智
使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息
大數據的13個商業數據提取工具
我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true
隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。
洞察 26 種大數據分析技術:第 1 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。