firewall防火墙配置-RHEL7
- 格式:doc
- 大小:25.00 KB
- 文档页数:9
RHELCentos7安装设置IP地址,DNS,主机名,防⽕墙,端⼝,SELinux(实测+笔记)环境:系统硬件:vmware vsphere (CPU:2*4核,内存2G,双⽹卡)系统版本:CentOS-7.0-1406-x86_64-DVD.iso安装步骤:1.虚拟系统安装1.1 使⽤VMware 虚拟机,读⼊ISO进⾏安装。
启动后进⾏安装界⾯1.2 选择 Install CentOS7,进⾏语⾔选择1.3 选择简体中⽂,进⼊信息摘要1.4 点击"安装位置",选择系统需要安装到的硬盘,点击“完成”。
1.5 点击"⽹络和主机名",进⾏⽹络设置,设为“开启”,然后点击“完成”。
1.6 在“安装信息摘要”界⾯,点击“开始安装”。
1.7 "包安装完成后",进⾏设置ROOT密码1.8 设定好Root密码后,在“配置”界⾯,等待安装包完成安装(共297个),完成后点击“结束配置”。
1.9 提⽰完成后,点击“重启”,重新启动计算机2.系统环境2.1 更新系统[root@centos ~]# yum update -y重启[root@centos ~]# shutdown -r now2.2 查看环境[root@centos ~]# cat /etc/redhat-releaseCentOS Linux release 7.0.1406 (Core)[root@centos ~]# uname -aLinux localhost.localdomain 3.10.0-123.4.2.el7.x86_64 #1 SMP Mon Jun 30 16:09:14 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux2.3 安装常⽤的包[root@centos ~]# yum -y install vim wget lsof gcc gcc-c++ net-tools bind-utils bzip23.系统设置3.1 时间设置当前时间查看[root@centos ~]# date时间设置[root@centos ~]# date -s "2014-7-11 12:00"3.2 主机名设置当前主机名查看[root@centos ~]# hostname主机名设置[root@centos ~]# vim /etc/sysconfig/network在打开的⽂件中增加以下内容hostname tCentos7:wq 保存退出[root@centos ~]# service network restart[root@centos ~]# hostnametCentos73.3 IP设置当前IP查看 (ifconfig默认没有安装,需要安装net-tools包)[root@centos ~]# ifconfig显⽰的以下内容表⽰,当前有“ens192”及“ens224”两张⽹卡ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.1.30 netmask 255.255.255.0 broadcast 192.168.1.255inet6 fe80::250:56ff:fe94:631b prefixlen 64 scopeid 0x20<link>ether 00:50:56:94:63:1b txqueuelen 1000 (Ethernet)RX packets 158 bytes 15474 (15.1 KiB)RX errors 0 dropped 7 overruns 0 frame 0TX packets 104 bytes 14836 (14.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0ens224: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500ether 00:50:56:94:74:3f txqueuelen 1000 (Ethernet)RX packets 86 bytes 7309 (7.1 KiB)RX errors 0 dropped 6 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 0 (Local Loopback)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@centos ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens192 检查HWADDR是否对就MAC地址,修改以下内容 BOOTPROTO,增加IPADDR,NETMASK,GATEWAYHWADDR="00:50:56:94:63:1B"TYPE="Ethernet"BOOTPROTO="static"DEFROUTE="yes"PEERDNS="yes"PEERROUTES="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_PEERDNS="yes"IPV6_PEERROUTES="yes"IPV6_FAILURE_FATAL="no"NAME="ens192"UUID="2d92dacb-4277-4846-ad83-c6d2a9b27e35"ONBOOT="yes"IPADDR="192.168.1.30"NETMASK="255.255.255.0"GATEWAY="192.168.1.1":wq 保存退出[root@centos ~]# service network restart[root@centos ~]#ifconfig查看修改的IP地址是否⽣效3.4 修改DNS设置当前主机名查看[root@centos ~]# vim /etc/resolv.conf在打开的⽂件中增加以下内容8.8.8.8为GoogleDNS,61.144.56.100本地DNS(不同地⽅不同)nameserver 8.8.8.8nameserver 61.144.56.100:wq 保存退出3.5 关闭SELINUX[root@centos ~]# vim /etc/selinux/config修改以下内容#SELINUX=enforcing #注释掉#SELINUXTYPE=targeted #注释掉SELINUX=disabled #增加:wq #保存退出3.6 修改防⽕墙,打开指定端⼝3.6.1 安装iptables[root@centos ~]# yum install iptables-services设置防⽕墙规则 (增加80端⼝)[root@centos ~]# vim /etc/sysconfig/iptables打开⽂件,增加80端⼝那⼀⾏*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT-A INPUT -j REJECT --reject-with icmp-host-prohibited-A FORWARD -j REJECT --reject-with icmp-host-prohibitedCOMMIT:wq #保存退出3.6.2 默认firewall作为防⽕墙的设置#禁⽌firewall开机启动[root@centos ~]# systemctl disable firewalld.service#设置防⽕墙开机启动[root@centos ~]# systemctl enable iptables.service#停⽌firewall[root@centos ~]# systemctl stop firewalld.service#重启防⽕墙使配置⽣效[root@centos ~]# systemctl restart iptables.service3.6.3 查看当前系统打开的端⼝[root@centos ~]# netstat -lntpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2157/mastertcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1292/sshdtcp6 0 0 ::1:25 :::* LISTEN 2157/mastertcp6 0 0 :::22 :::* LISTEN 1292/sshd3.6.4 查看及设置SELinux查看[root@centos ~]# getenforce[root@centos ~]# setenforce 0 临时关闭[root@centos ~]# setenforce 1 临时打开[root@centos ~]# vim /etc/selinux/config 屏蔽以下内容:#SELINUX=enforcing#SELINUXTYPE=targeted增加以下内容SELINUX=disabled保存,退出[root@centos ~]# shutdown -r now。
RHEL6、7防火墙操作网络安全技术是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多学科的综合性学科。
解决网络安全问题的重要手段就是防火墙技术。
下面是學習啦小編收集整理的RHEL6、7防火墙操作,希望對大家有幫助~~ RHEL6、7防火墙操作(1)RHEL6防火墙设置1、临时状态、永久查询2、重启、临时关闭、永久关闭(2)RHEL7防火墙设置1、临时状态、永久查询2、重启、临时关闭、永久关闭(1)RHEL6防火墙设置11、临时状态、永久查询临时状态查询:serviceiptablesstatusserviceip6tablesstatus永久状态查询:chkconfig--list|grepiptables22、重启、临时关闭、永久关闭临时关闭、启动:serviceiptablesstop/startserviceip6tablesstop/start永久关闭、启动:chkconfig--level2345iptablesoff/onchkconfig--level2345ip6tablesoff/on(2)RHEL7防火墙设置1、临时状态、永久查询临时状态查看:systemctlstatusfirewalld永久状态查看:systemctllist-unit-files|grepfirewalld22、重启、临时关闭、永久关闭临时重启:systemctlstopfirewalld永久关闭或开启:systemctldisablefirewalldRHEL6、7防火墙操作相关文章:1.linux防火墙怎么样设置2.linux怎么样查看防火墙有没开启3.RedhatLinux7怎么用命令关闭防火墙4.redhat防火墙如何设置5.linux防火墙设置规则怎么样6.linux防火墙如何配置7.在CentOS的防火墙上开启通行端口的方法8.linux怎么查看防火墙。
CentOS7防⽕墙放⾏或限制指定IP和端⼝(firewall)CentOS7默认没有安装iptables,可以⼿动安装iptables;也可以通过CentOS7已带的firewall配置防⽕墙。
1.查看firewalld.service服务状态systemctl status firewalld2.查看firewall运⾏状态firewall-cmd --state3.⼿动启动/停⽌/重启firewalld.service服务# 启动firewalldservice firewalld start# 停⽌firewalldservice firewalld stop# 重启firewalldservice firewalld restart4.展⽰当前配置的firewall规则firewall-cmd --list-all5.端⼝(端⼝段)的查询/开放# 查询端⼝是否开放firewall-cmd --query-port=8080/tcp# 新建永久规则,开放8080端⼝(TCP协议)firewall-cmd --permanent --add-port=8080/tcp# 移除上述规则firewall-cmd --permanent --remove-port=8080/tcp# 新建永久规则,批量开放⼀段端⼝(TCP协议)firewall-cmd --permanent --add-port=9001-9100/tcp6.IP(IP段)的开放# 新建永久规则,开放192.168.1.1单个源IP的访问firewall-cmd --permanent --add-source=192.168.1.1# 新建永久规则,开放192.168.1.0/24整个源IP段的访问firewall-cmd --permanent --add-source=192.168.1.0/24# 移除上述规则firewall-cmd --permanent --remove-source=192.168.1.17.系统服务的开放# 开放http服务firewall-cmd --permanent --add-service=http# 移除上述规则firewall-cmd --permanent --remove-service=http8.⾃定义复杂规则(注意是否与已有规则冲突)# 允许指定IP访问本机8080端⼝firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'# 允许指定IP段访问本机8080-8090端⼝firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept' # 禁⽌指定IP访问本机8080端⼝firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'9.任何修改操作,配置完成后,需要重新装载firewall。
在Linux系统中,可以使用iptables和firewalld来设置防火墙规则。
iptables是Linux系统自带的防火墙工具,可以用于设置和管理网络防火墙规则。
以下是一些常见的iptables 命令:
1. 查看iptables规则:iptables -L -n
2. 清除原有规则:iptables -F
3. 设定预设规则:iptables -P INPUT DROP,iptables -P FORWARD DROP,iptables -P OUTPUT
ACCEPT
除了iptables之外,firewalld也是Linux系统常用的防火墙工具之一。
firewalld提供了一个图形化的管理界面,方便用户进行防火墙规则的设置和管理。
以下是使用firewalld设置防火墙规则的一些常见操作:
1. 启用防火墙:systemctl enable firewalld
2. 停止防火墙:systemctl stop firewalld
3. 启动防火墙:systemctl start firewalld
4. 查看防火墙状态:systemctl status firewalld
5. 添加允许规则:firewall-cmd --add-service=http --permanent
6. 删除允许规则:firewall-cmd --remove-service=http --permanent
7. 重新加载防火墙规则:firewall-cmd --reload
需要注意的是,以上命令和操作可能会因不同的Linux发行版而略有不同。
在使用之前,建议先查阅相关文档或手册以了解具体的命令和操作方式。
Redhat 7 桥接网络及防火墙设置
1、切换目录cd /etc/sysconfig/network-scripts/(这个目录是centos的网络配置目录);
2、编辑网络配置文件vim ifcfg-enp0s3(每个人的这个文件可能不同,但前边的ifcfg-en*这个还是一样的);
3、设置虚拟机的静态IP地址,和主机相同的网关地址。
需要设置的点:
bootproto=static
onboot=yes
ipaddr=192.168.1.110(这个是你自己决定的ip地址)
netmask=255.255.255.0
gateway=192.168.1.1
dns1=8.8.8.8
nm_controlled=no
保存退出
重启网络服务》》systemctl restart network.service
============================================ ====
查看防火墙状态。
systemctl status firewalld
临时关闭防火墙命令。
重启电脑后,防火墙自动起来。
systemctl stop firewalld
永久关闭防火墙命令。
重启后,防火墙不会自动启动。
systemctl disable firewalld
打开防火墙命令。
systemctl enable firewalld。
firewalld 添加规则firewalld是一种防火墙服务程序,它是在CentOS 7上默认安装的。
它可以允许和拒绝许多不同类型的网络流量,保护您的系统免受恶意攻击和未经授权的访问。
在这篇文章中,我们将讨论如何使用firewalld添加规则。
步骤1:启用防火墙首先,我们需要确保firewalld服务已启动并正在运行。
可以使用以下命令检查firewalld服务的状态。
sudo systemctl status firewalld此命令将显示firewalld服务的当前状态。
如果firewalld服务未启动,则可以使用以下命令启动并启用其自动启动。
sudo systemctl start firewalldsudo systemctl enable firewalld步骤2:检查防火墙规则在添加新的防火墙规则之前,我们应该查看当前的防火墙规则,以确保我们不会误删除任何现有规则。
可以使用以下命令查看当前防火墙规则:sudo firewall-cmd --list-all此命令将列出当前防火墙配置的所有规则。
步骤3:添加新规则现在,我们已准备好添加新的防火墙规则。
可以使用以下命令添加新规则:sudo firewall-cmd --add-rule=\<zone\> --protocol=\<protocol\> --destination-port=\<port number\> --permanent在上面的命令中,\<zone\>应替换为要添加规则的防火墙区域(例如,public或internal),\< protocol>应替换为协议名称(例如,tcp或udp),\<port number\>应替换为要打开的端口号。
例如,要将TCP端口8080添加到“public”区域,请运行以下命令:sudo firewall-cmd --add-rule=public --protocol=tcp --destination-port=8080 --permanent请注意,我们使用 --permanent 参数将规则保存在永久设置中。
centos7配置防火墙规则CentOS 7 使用的防火墙是firewalld,默认以及开启,通过配置防火墙规则可以实现网络访问的控制。
以下是配置CentOS 7防火墙规则的步骤:1. 查看防火墙状态:运行命令`sudo firewall-cmd --state`,如果状态是`running`,表示防火墙已经开启。
2. 停止防火墙:运行命令`sudo systemctl stop firewalld.service`,停止防火墙。
3. 禁止防火墙开机启动:运行命令`sudo systemctl disable firewalld.service`,禁止防火墙开机启动。
4. 开启防火墙:运行命令`sudo systemctl start firewalld.service`,开启防火墙。
5. 添加防火墙规则:运行命令`sudo firewall-cmd --zone=public--add-port={port_number}/tcp --permanent`添加规则,其中`{port_number}`为需要开放的端口号。
6. 重新加载防火墙配置:运行命令`sudo firewall-cmd --reload`,重新加载防火墙配置。
7. 查看防火墙规则:运行命令`sudo firewall-cmd --list-all`,查看当前防火墙规则。
8. 删除防火墙规则:运行命令`sudo firewall-cmd --zone=public --remove-port={port_number}/tcp --permanent`删除规则,其中`{port_number}`为要删除的端口号。
以上是基本的配置防火墙规则的步骤,可以根据需要自行调整规则。
firewall-cmd:rhel7中的防⽕墙设置的命令⾏⼯具firewall-cmd:防⽕墙设置的命令⾏⼯具。
语法:firewall-cmd [OPTIONS...]常见选项:-h:打印帮助信息;-V:打印版本信息;-q:退出,不⽤打印状态信息。
状态选项:--state:检查防⽕墙进程是否激活有效。
如果有效,返回0值;否则返回⾮0值。
--reload:重新加载防⽕墙规则,并保留状态信息。
当前永久配置信息将变成新的运⾏时配置信息。
--complete-reload:完全重新加载防⽕墙,甚⾄包括netfilter kernel modules也会重新加载。
当前连接也会中断,因为状态信息已经丢失。
永久选项:--permanent:使配置永久⽣效。
修改的配置信息不会⽴即⽣效,只有当服务重启、重新加载或系统重启后⽣效。
区域选项:--get-default-zone:连接、接⼝的默认区域。
--set-default-zone=zone:设置默认区域。
--get-active-zones:获取当前激活的、有效的区域。
[--permanent] --get-zones:获取预定义的区域,使⽤空格分隔。
[--permanent] --get-services:获取预定义的服务,使⽤空格分隔。
[--permanent] --get-icmptypes:获取所有的ICMP类型。
[--permanent] --get-zone-of-interface=interface:输出指定⽹卡所属的区域。
[--permanent] --get-zone-of-source=source[/mask]:输出指定源地址所属的区域。
[--permanent] --list-all-zones:列出所有的区域。
[--permanent] [--zone=zone] --list-all:罗列出所有区域。
[--permanent] [--zone=zone] --list-services:罗列出所有的服务。
RHEL7中防⽕墙的配置和使⽤⽅法RHEL7 中使⽤了firewalld代替了原来的iptables,操作设置和原来有点不同:查看防⽕墙状态:systemctl status firewalld启动防⽕墙:systemctl start firewalld停⽌防⽕墙:systemctl stop firewalld防⽕墙中的⼀切都与⼀个或者多个区域相关联,下⾯对各个区进⾏说明:Zone Description-----------------------------------------------------drop (immutable) Deny all incoming connections, outgoing ones are accepted.block (immutable) Deny all incoming connections, with ICMP host prohibited messages issued.trusted (immutable) Allow all network connectionspublic Public areas, do not trust other computersexternal For computers with masquerading enabled, protecting a local networkdmz For computers publicly accessible with restricted access.work For trusted work areashome For trusted home network connectionsinternal For internal network, restrict incoming connectionsdrop(丢弃)任何接收的⽹络数据包都被丢弃,没有任何回复。
Centos7配置防⽕墙firewall⼀、firewall1、从CentOS7开始,默认使⽤firewall来配置防⽕墙,没有安装iptables(旧版默认安装)。
2、firewall的配置⽂件是以xml的格式,存储在 /usr/lib/firewalld/ 和 /etc/firewalld/ ⽬录中。
(1)系统配置⽬录,⽬录中存放定义好的⽹络服务和端⼝参数,系统参数,不要修改。
1 /usr/lib/firewalld/2 /usr/lib/firewalld/services3 /usr/lib/firewalld/zones (2)⽤户配置⽬录1 /etc/firewalld/2 /etc/firewalld/services3 /etc/firewalld/zones3、特性(1)firewalld是centos7的⼀⼤特性,最⼤的好处有两个:⽀持动态更新,不中断⽤户连接加⼊了防⽕墙的“zone”概念,可以理解为 firewalld 的单位、规则集: 1 drop(丢弃),任何接受的⽹络数据包都被丢弃,没有任何回复。
仅能有发送出去的⽹路连接。
2 block(限制),任何接收的⽹络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝。
3 public(公共),在公共区域内使⽤,不能相信⽹络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接。
4 external(外部),特别是为路由器启动了伪装功能的外部⽹。
你不能相信来⾃⽹络的其他计算机,不能相信他们不会对你的计算机造成危害,只能接收经过选择的连接。
5 dmz(⾮军事区),⽤于你的⾮军事区内的电脑,此区域内可公开访问,可以有限的进⼊你的内部⽹络,仅仅接收经过选择的连接。
6 work(⼯作),⽤于⼯作区。
你可以基本相信⽹络内的其他计算机不会危害到你。
尽管工作在Linux内核的网络过滤器代码上,总体上和旧有的配置防火墙的方法是不兼容的。
Red Hat Enterprise Linux 7 和其他的新版本则需要依靠新的配置方法。
本文的所有命令都基于RHEL 7.防火墙工作网络首先,检查防火墙是否在运行。
使用列表1中的systemctl status firewalld命令。
列表1.下面的序列表明防火墙是活动状态且在运行中。
这些斜线是有帮助的,当你试图将表1全面显示出来,使用-1命令。
[root@rhelserver ~]# systemctl status firewalld- firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/; enabled)Active: active (running)since Thu 2014-05-22 07:48:08 EDT; 14min agoMain PID: 867 (firewalld)CGroup: /└─867 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopidMay 22 07:48:08 systemd[1]: Started firewalld - dynami…防火墙中的一切都与一个或者多个区域相关联。
配置之后,RHEL 7服务器正常会在公共区域,但是你也许会想将它放置在另一个网络配置防火墙访问。
这时使用firewall-cmd --get-default-zone命令,该命令显示你的服务器在哪一个网络。
如果你想查看配置特定网络的详细信息,你可以使用列表2中的firewall-cmd --zone=zonename --list-all命令。
列表2.root@rhelserver ~]# firewall-cmd --get-default-zonepublic[root@rhelserver ~]# firewall-cmd --get-zonesblock dmz drop external home internal public trusted work[root@rhelserver ~]# firewall-cmd --zone=public --list-allpublic (default, active)interfaces: ens33sources:services: dhcpv6-client sander sshports:masquerade: noforward-ports:icmp-blocks:rich rules:改变当前区域并不难:使用firewall-cmd --set-default-zone=home命令,该命令可用于从公共网络到家庭网络制定一个默认网络。
服务和其他构件在区域中有一些基本的构件块,其中服务是最重要的。
防火墙使用管理员创建在/usr/lib/firewalld/services(系统默认服务)和/etc/firewalld/services文件下的XML文件,配置的自身服务集。
XML文件时通过列表3中的例子创建的。
列表3.[root@rhelserver services]# cat<xml version=“”encoding=“utf-8”><service><short>FTP</short><description>FTP is a protocol used for remote file transfer. If you plan to make your FTP server publicly available, enable this option. You need thevsftpd package installed for this option to be useful.</description><port protocol=“tcp”port=“21”/><module name=“nf_conntrack_ftp”/></service>每一个服务定义都需要一个简短的名字、描述和端口网络用于指定需要使用的协议、端口和模块名。
列表4.以下是创建防火墙服务的例子[root@rhelserver services]# cat<xml version=“”encoding=“utf-8”><service><short>Sander</short><description>Sander is a random service to show how service configurationworks.</description><port port=“666”protocol=“tcp”/></service>一旦你有了正确的服务文件,使用以下代码复制它。
firewall-cmd --list-services命令显示从你服务器上的所有可以找到的服务列表。
如果要增加服务则输入firewall-cmd --add-service yourservice将服务放到默认网络上,或者是使用--zone=zonename选择特定网络。
下面描述了它如何工作:1.使用firewall-cmd --zone=public --list-all命令,显示当前公共区域配置。
[root@rhelserver ~]# firewall-cmd --zone=public --list-allpublic (default, active)interfaces: ens33sources:services: dhcpv6-client sshports:masquerade: noforward-ports:icmp-blocks:rich rules:2. 命令firewall-cmd --zone=public --add-service=ftp,在Linux防火墙的公共区域上添加FTP 服务。
3.重复步骤1检查FTP服务是否成功添加,你将看到服务列表。
4.重启服务器,执行步骤1.你将看到FTP服务消失了,在防火墙中,没有永久的事物,除非你使用了permanent选项。
5.将FTP服务添加到公共网络上,并设为永久设置,该步骤使用firewall-cmd --permanent --zone=public --add-service=ftp命令。
重启之后该设置生效。
6.输入firewall-cmd –reload提交所有规则同时重载防火墙。
使用permanent设置永久防火墙选项是非常重要的。
打破规则配置防火墙配置服务是推荐的方式,它可以轻而易举地提供防火墙的全局概览。
但是如果你想在/etc/firewalld/service文件下自己定义服务,在不使用该文件的情况下也可添加端口。
使用firewall-cmd --permanent --zone=dmz --add-port=22/tcp命令为特定网络指定特定端口,然后使用firewall-cmd --zone=dmz --list-all确认端口已成功添加。
这种方式是非兼容方式,使用服务使对不同的主机分配相似的规则变得简单。
如果没有服务,文件就很难被分配,配置文件中的规则分配也变得困难。
对于更多的控制,你不能够使用直接规则。
原因如下:1.输入firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 80 -j ACCEPT2.现在输入firewall-cdm --list-all显示你的默认网络的配置,端口80没有添加任何东西。
[root@rhelserver ~]# firewall-cmd --list-allpublic (default, active)Interfaces: ens33sources:services: dhcpv6-client ftp sshports:masquerade: noforward-ports:icmp-blocks:rich rules:输入完以上命令后,HTTP端口并没有发生改变,这是因为直接规则写给了IP信息包过滤器接口,而不是防火墙。
3. 输入firewall-cmd --direct --get-all-rules,或者使用firewall-cmd --direct --get-all-rules显示直接规则。
相比于直接规则,使用iptables(列表5)命令可以写到防火墙里。
列表5. Linux防火墙规则实例firewall-cmd --permanent --zone=public --add-rich-rule=“rule family=”ipv4“source address=”service name=”tftp“log prefix=”tftp“level=”info“limit value=”1/m“accept”防火墙规则类似于IP信息包过滤防火墙,提供了大量灵活性。
使用列表5中的一条命令就可以完成和提交许多任务。
它指定了IP家族、源地址、服务名等。
但是需要注意规则是怎样处理登陆的:定义一个特定的登陆前缀、登陆等级信息,以及每分钟传递信息的极限值。
Linux管理员可以申请监测端口的过滤器,所以规则对于IP地址上的过滤器非常有用。
(列表6)列表6. 规则申请Linux防火墙IP地址端口的过滤器firewall-cmd --permanent --zone=public --add-rich-rule=“rule family=”ipv4“\source address=”service name=”http“accept”分析区域firewall-cmd命令是众多配置防火墙的方法之一。
二者择一的,你可以直接编写网络配置文件。
但是如果语法有误,将不会得到任何反馈。
但这是一个简洁简单的配置文件,容易修改和在多个服务器上分配。
列表7.你可以通过编写配置文件配置防火墙<xml version=“”encoding=“utf-8”><zone><short>Public</short><description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description><service name=“dhcpv6-client”/><service name=“ssh”/><rule family=“ipv4”><source address=“<service name=“tftp”/><log prefix=“tftp”level=“info”><limit value=“1/m”/></log><accept/></rule></zone>列表7中包含了添加到先前例子中的所有代码,可以直接写入区域配置文件,其中不包含直接规则,因为直接规则有自己的配置文件。