防火墙(2)富语言规则

第三章firewalld防火墙(二)

一.IP伪装与端口转发

  1. nat技术一般配置在企业边界路由器或防火墙

2.Firewalld支持两种类型的网络地址转换
2.1 IP地址伪装(masquerade)
可以实现局域网多个地址共享单一公网地址上网
IP地址伪装仅支持IPv4,不支持IPv6

2.2端口转发(Forward-port)
也称为目的地址转换或端口映射
通过端口转发,指定IP地址及端口的流量将被转发到相同计算机上的不同端口,或者转发到不同计算机上的端口
例:企业内网服务器一般采用私网地址,可以通过端口转发将私网地址的服务器发布到公网,以便互联网用户访问。当接收到互联网用户的http请求时,网关服务器判断数据包的目标地址和目标端口,一旦匹配指定规则,则将其目标地址修改为内网的真正服务器地址,从而建立有效连接。

二、firewall-cmd高级配置

直接接口设置 firewalld 有一个被称为“direct interface”(直接接口),它可以直接通过 iptables、ip6tables 和 ebtables 的规则。它适用于应用程序,而不是用户。firewalld 保持对所增加项目的追踪,所以它还能质询 firewalld 和发现由使用直接端口模式的程序造成的更改。直接端口由增加 --direct 选项到 firewall-cmd 命令来使用。直接端口模式适用于服务或者程序,以便在运行时间内增加特定的防火墙规则。这些规则不是永久性的,它们需要在每次通过 D-BU S 从 firewalld 接到启动、重新启动和重新加载信息后运用。

例如添加端口 tcp 9999 端口。 # firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT

firewall-cmd – reload

给复杂防火墙规则配置富规则(Rich Language)
通过“rich language”语法,可以用比直接接口方式更易理解的方法建立复杂防火墙规则。此外还能永久保留设置。这种语言可以用来配置分区,也仍然支持现行的配置方式。所有命令都必须以 root 用户身份运行

1.firewalld中理解直接规则
1.1 直接规则(direct interface)
1)允许管理员手动编写的iptables、ip6tables和ebtables 规则插入到Firewalld管理的区域中
2)通过firewall-cmd命令中的–direct选项实现
3)除显示插入方式之外,优先匹配直接规则

红帽6以前的防火墙4表5链
table表:raw、mangle、nat、filter

chain链:input、output、forward、prerouting、 postrouting

实例:把192.168.0.0/24ip地址范围列入黑名单

添加规则链 blacklist
[root@localhost ~]# firewall-cmd --direct --permanent --add-chain ipv4 raw blacklist

来自192.168.0.0/24的数据包路由前选择匹配blacklist
[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw PREROUTING 0 -s 192.168.0.0/24 -j blacklist

将‘blacklisted’内容的日志每分钟记录一次
[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 0 -m limit --limit 1/min -j LOG --log-prefix “blacklisted”

匹配blacklist规则的数据丢弃
[root@localhost ~]# firewall-cmd --direct --permanent --add-rule ipv4 raw blacklist 1 -j DROP

查看直接规则
firewall-cmd --direct --get-rules ipv4 raw blacklist

2.使用富语言规则–解决基本语法中未涵盖的自定义防火墙规则
2.1富语言(rich language)
1)表达性配置语言,无需了解iptables语法

2)用于表达基本的允许/拒绝规则、配置记录(面向syslog和auditd)、端口转发、伪装和速率限制

3)规则的每个单一元素都可以 option选项=value值的形式来采用附件参数

4)区域内规则排序相同,依次进行匹配,匹配成功就结束;当任何规则不匹配时默认拒绝。(例外:trusted区域允许不匹配的包)
@@如果匹配的是记录规则,将继续处理
@@直接规则例外,首先解析直接规则

5)超时选项(测试和调试)
@@超时:包含超时选项的规则添加到防火墙后,计时器会自动倒计时,归零时该规则删除

@@配置远程防火墙时,极其有用。防止该规则影响管理员无法远程进入系统。
@@测试成功后再取消超时选项

@@ --timeout=超时时间

6)对富规则的处理命令

--add-rich-rule=‘富规则’  没有指定区域即默认区域

--remove-rich-rule=‘富规则’ 删除

--query-rich-rule=‘富规则’ 查询规则是否已添加(存在:0;否则:1)

--list-rich-rules 输出指定区域的富规则

firewall-cmd --list-all 

firewall-cmd --list-all-zones

2.2 firewall-cmd处理富语言规则的常用选项
rule [family=""]
[ source address="

" [invert=“True”] ]
[ destination address="
" [invert=“True”] ]
[ ]
[ log [prefix=""] [level=""] [limit value=“rate/duration”] ]
[ audit ]
[ accept|reject|drop ]

2.3 富语言规则具体语法
-1 family="" 定义富规则名称(
-2 source(destination):源(目标)ip地址或地址段、

-3 element:要素
1)service:firewalld提供的某种服务(firewall-cmd --get-services 获取)。如果服务提供的默认目标地址和规则中的目标地址冲突,会导致一个错误。
命令:service name=服务名称
2)port:tcp或udp端口或端口范围(例:1234-1236)
语法:port port=端口或范围 protocol=协议名称

3)protocol:协议id号或协议名称(可查询/etc/protocols获取)
语法:protocol value=协议名或协议id

4)icmp-block:阻断一或多个icmp类型(firewall-cmd --get-icmptypes查看类型)
语法:icmp-block name=icmp类型名称

5)masquerade:IP伪装--只使用源地址来伪装

6)forward-port:转发到其他端口
    port、to-port:端口或端口范围
	to-addr:目标地址为简单的ip地址
	
语法:forward-port port=端口或端口范围 protocol=协议 to-port=端口或端口范围 to-addr=目标地址	

-4 log:注册有内核日志的连接请求到规则中(例:系统日志)。可定义一个前缀文本把日志信息作为前缀加入。
1)日志级别:emerg、alert、crit、error、warning、notice、info、debug
2)语法:log [ prefix=前缀文本] [level=日志级别] limit value=频率(次数/时间)
3)时间:s-秒;m–分钟;h—小时;d—天
4)最大限定值:value=1/d 每天最多一条日志

-5 audit 审核:审核类型为accept、reject、drop,但不能在audit命令后指定。审核类型会自动在规则动作中收集。审核的使用可选择。

-6 控制类型:accept|reject|drop
语法:accept|reject [ type=拒绝类型] | drop
accept:所有新的连接请求被允许
reject:拒绝,发起端将接到一个拒绝信息
drop:丢弃,同时不向发起端发送信息

2.4 规则配置举例

为认证报头协议AH使用新的ipv4和ipv6连接

[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule protocol value=ah accept’

允许连接ftp,使用审核,每分钟记录1次
[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule service name=ftp log limit value=1/m audit accept’

允许来自192.168.0.0/24的地址的tftp协议的ipv4连接,并且使用系统日志每分钟记录1次info级别信息
[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule family=“ipv4” source address=“192.168.0.0/24” service name=“tftp” log prefix=“tftp” level=“info” limit value=“1/m” accept’

为radius拒绝所有来自此地址的ipv6连接,同时记录日志前缀为dns,级别为info;每分钟最多记录3次

[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule family=“ipv6” source address=“1:2:3:4:6::” service name=“radius” log prefix=“dns” level=“info” limit value=“3/m” reject’

接受来自其他发起端的新的ipv6连接
[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule family=“ipv6” service name=“radius” accept’

允许192.168.2.2的所有连接
[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule family=“ipv4” source address=“192.168.2.2” accept’

拒绝来自public区域的192.168.0.11的所有连接
[root@gateway-server ~]# firewall-cmd --zone=public --add-rich-rule=‘rule family=“ipv4” source address=192.168.0.11/32 reject’


IPsec 封装安全负载(IPsec ESP)是 IPsec 体系结构中的一种主要协议,其主要设计来在 IPv4 和 IPv6 中提供安全服务的混合应用。IPsec ESP 通过加密需要保护的数据以及在 IPsec ESP 的数据部分放置这些加密的数据来提供机密性和完整性。


丢弃来自默认区域的所有进入的ipsec应用的esp协议包
[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule protocol value=“esp” drop’

在dmz区域中,接收来自192.168.1.0网段tcp端口范围为7900-7905的数据包
[root@gateway-server ~]# firewall-cmd --zone=dmz --add-rich-rule=‘rule family=ipv4 source address=192.168.1.0/24 port port=7900-7905 protocol=tcp accept’

接收从work区域到ssh服务的新连接,以notice级别且每分钟最多3次记录信息到syslog
[root@gateway-server ~]# firewall-cmd --zone=work --add-rich-rule=‘rule service name=ssh log prefix=“ssh” level=“notice” limit value=“3/m” accept’

超时时间为5分钟(5分钟后该规则删除)。拒绝从默认区域到dns的新连接,且每小时1次记录到audit审核系统。

[root@gateway-server ~]# firewall-cmd --add-rich-rule=‘rule family=ipv4 source address=192.168.2.0/24 service name=dns audit limit value=“1/h” reject’ --timeout=300
success

[root@localhost ~]# firewall-cmd --add-rich-rule='rule family=“ipv4” source address=“192.168.1.10/32” icmp-block name=“echo-request” ’ --timeout=30

[root@gateway-server ~]# firewall-cmd --list-all-zones
block
target: %%REJECT%%
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

dmz (active)
target: default
icmp-block-inversion: no
interfaces: ens37
sources:
services: ssh
ports: 12345/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family=“ipv4” source address=“192.168.1.0/24” port port=“7900-7905” protocol=“tcp” accept

drop
target: DROP
icmp-block-inversion: no
interfaces:
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

external (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh
ports: 12345/tcp
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule protocol value=“ah” accept
rule service name=“ftp” log limit value=“1/m” audit accept
rule family=“ipv4” source address=“192.168.0.0/24” service name=“tftp” log prefix=“tftp” level=“info” limit value=“1/m” accept
rule family=“ipv6” source address=“1:2:3:4:6::” service name=“radius” log prefix=“dns” level=“info” limit value=“3/m” reject
rule family=“ipv6” service name=“radius” accept
rule family=“ipv4” source address=“192.168.2.2” accept
rule protocol value=“esp” drop
rule family=“ipv4” source address=“192.168.2.0/24” service name=“dns” audit limit value=“1/h” reject

home
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh mdns samba-client dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

internal
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh mdns samba-client dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule family=“ipv4” source address=“192.168.0.11/32” reject

trusted (active)
target: ACCEPT
icmp-block-inversion: no
interfaces: ens36
sources:
services:
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

work
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
rule service name=“ssh” log prefix=“ssh” level=“notice” limit value=“3/m” accept

查看富规则
[root@gateway-server ~]# firewall-cmd --list-rich-rules

	如何清空防火墙规则

#如果防火墙配置了规则很多如果清空规则呢?firewalld默认没有命令来清空规则。但是我们可以通过编辑配置文件来清除规则。
/etc/firewalld/zones/ 此处为配置生效后保存的配置文件,一般建议修改前先备份。

此目录会显示已经配置的规则
[root@gateway-server ~]# ll /etc/firewalld/zones/
总用量 16
-rw-r–r-- 1 root root 331 10月 1 14:36 dmz.xml
-rw-r–r-- 1 root root 342 10月 1 14:34 external.xml
-rw-r–r--. 1 root root 315 9月 1 18:54 public.xml
-rw-r–r--. 1 root root 315 9月 1 18:54 public.xml.old

[root@gateway-server ~]# cd /etc/firewalld/zones/
[root@gateway-server zones]# vim dmz.xml
[root@gateway-server zones]# vim external.xml
[root@gateway-server zones]# vim public.xml
[root@gateway-server zones]# vim public.xml.old
[root@gateway-server zones]# cd

创建备份目录
[root@gateway-server ~]# mkdir /tmp/firewall.bak

[root@gateway-server ~]# mv /etc/firewalld/zones/* /tmp/firewall.bak/

[root@gateway-server ~]# firewall-cmd --set-default-zone=public

重启服务
[root@gateway-server ~]# systemctl restart firewalld

修改完重启服务或者重载服务。

!!最后修改相关网卡的配置文件(/etc/sysconfig/network-scripts/)

		配置firewalld地址伪装和端口转发

实验环境
1.linux-1 网关服务器
网卡1 ens33 vmnet1 internet 100.1.1.10/24
网卡2 ens36 vmnet2 企业内网 192.168.1.1/24
网卡3 ens37 vmnet3 网站服务器区 192.168.2.1/24

基础配置:ip a
查看活动的网络接口,为ens33,36,37

  1. linux-2 内网网站服务器
    ens33 vmnet3 192.168.2.10/24 网关:192.168.2.1

3.linux-3 企业内网测试机
vmnet2 192.168.1.10/24 网关:192.168.1.1

4.linux-4 外网网站服务器
vmnet1 100.1.1.20
为了更真实的模拟,就不再指网关。访问内网web服务器192.168.2.10时需要访问网关服务器的外网网卡100.1.1.10 ,然后网关服务器会把请求转发到内网web服务器。

需求描述
1.网关服务器
1)连接互联网网卡ens33地址为100.1.1.10,为公网IP地址,分配到firewall的external区域;

2)连接内网网卡ens36地址为192.168.1.1,分配到firewall的trusted区域;

3)连接服务器网卡ens37地址为192.168.2.1,分配到firewall的dmz区域

2.内网网站服务器和网关服务器

1)均通过SSH来远程管理,为了安全,将SSH默认端口
网关服务器更改为54321
内网网站服务器改为12345

3.网站服务器 192.168.2.10
1)开启 HTTPS,过滤未加密的HTTP流量(实验环境中继续使用http)
2)网站务器拒绝ping,网关服务器拒绝来自互联网上的ping

4.公司内网用户需要通过网关服务器共享上网

5.互联网用户需要访问网站服务器

实验步骤:

	基本配置

一、网关服务器 192.168.1.1
1.配置主机名和网卡地址
[root@gateway-server ~]# hostname gateway-server

[root@gateway-server ~]# vim /etc/hostname

gateway-server

[root@gateway-server ~]# ip a

2.开启网关路由器的路由转发功能
[root@gateway-server ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

[root@gateway-server ~]# sysctl -p

3.配置防火墙

启用防火墙
[root@gateway-server ~]# systemctl start firewalld

查看防火墙状态
[root@gateway-server ~]# firewall-cmd --state

更改默认区域为external
[root@gateway-server ~]# firewall-cmd --set-default-zone=external

查看结果
[root@gateway-server ~]# firewall-cmd --list-all

ens33----external区域
[root@gateway-server ~]# firewall-cmd --change-interface=ens33 --zone=external

ens36–trusted区域
[root@gateway-server ~]# firewall-cmd --change-interface=ens36 --zone=trusted

ens37–dmz区域
[root@gateway-server ~]# firewall-cmd --change-interface=ens37 --zone=dmz

查看配置情况
[root@gateway-server ~]# firewall-cmd --get-active-zones
dmz
interfaces: ens37
external
interfaces: ens33
trusted
interfaces: ens36


##验证:客户机 192.168.1.10 是否能够访问网站
curl http://192.168.2.10


3.2 更改ssh的侦听端口为54321(实验环境添加端口)

[root@gateway-server ~]# vim /etc/ssh/sshd_config
17 Port 22
18 Port 54321

[root@gateway-server ~]# systemctl restart sshd

在external区域添加tcp端口54321,实现互联网远程登录ssh
[root@gateway-server ~]# firewall-cmd --zone=external --add-port=54321/tcp --permanent

external区域禁止ping网关服务器
[root@gateway-server ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent

重新加载防火墙
[root@gateway-server ~]# firewall-cmd --reload


验证:
1.互联网测试机 100.1.1.20

[root@localhost ~]# ping -c 3 100.1.1.10

[root@localhost ~]# ssh -p 54321 root@100.1.1.10 ip a

2.内网测试机 192.168.1.10
[root@localhost ~]# ping -c 3 100.1.1.10


二、内网网站服务器 192.168.2.10

[root@localhost ~]# hostname web

[root@localhost ~]# vim /etc/hostname

[root@localhost ~]# bash

[root@web ~]# ip a

查看路由
[root@web ~]# route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 ens33
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens33
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

安装测试站点及首页
[root@web ~]# yum -y install httpd mod_ssl

[root@web ~]# systemctl enable httpd.service

[root@web ~]# systemctl start httpd.service

[root@web ~]# echo “192.168.2.10” >/var/www/html/index.html

更改ssh的侦听端口为12345(实验环境添加端口)

[root@web ~]# vim /etc/ssh/sshd_config
17 Port 22
18 Port 12345

[root@web ~]# systemctl restart sshd

查看防火墙状态
[root@web ~]# firewall-cmd --state
not running

启用防火墙
[root@web ~]# systemctl start firewalld

[root@web ~]# firewall-cmd --state
running

更改默认区域
[root@web ~]# firewall-cmd --set-default-zone=dmz

Warning: ZONE_ALREADY_SET: dmz
success

查看区域配置
[root@web ~]# firewall-cmd --list-all

dmz
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

添加https及http服务

[root@web ~]# firewall-cmd --zone=dmz --add-service=https --permanent

[root@web ~]# firewall-cmd --zone=dmz --add-service=http --permanent

添加端口12345
[root@web ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent

禁止ping
[root@web ~]# firewall-cmd --zone=dmz --add-icmp-block=echo-request --permanent

重新加载服务
[root@web ~]# firewall-cmd --reload

查看区域配置
[root@web ~]# firewall-cmd --list-all
dmz
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh https http
ports: 12345/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks: echo-request
rich rules:


验证:
1.外网测试机 100.1.1.20
[root@localhost ~]# curl http://192.168.2.10

curl: (7) Failed to connect to 192.168.2.10: 网络不可达
[root@localhost ~]# ssh -p 12345 root@192.168.2.10 ip a

ssh: connect to host 192.168.2.10 port 12345: Network is unreachable
结果分析:外网测试机没有指定网关,所以目前无法和内网服务器连接

2.内网测试机:192.168.1.10

[root@localhost ~]# curl http://192.168.2.10
192.168.2.10
[root@localhost ~]# ping -c 3 192.168.2.10

[root@localhost ~]# ssh -p 12345 root@192.168.2.10 ip a

结果分析:内网测试机验证结果符合网站服务器防火墙规则。


			二 配置ip伪装---实现内部局域网共享上网

一、外网网站服务器 100.1.1.20

搭建测试站点及首页
[root@localhost ~]# yum -y install httpd

[root@localhost ~]# echo “100.1.1.20” >/var/www/html/index.html

[root@localhost ~]# systemctl enable httpd

[root@localhost ~]# systemctl start httpd


验证:由于网关服务器的external区域默认开启了地址伪装,无论内部客户机还是dmz网站服务器都可以访问外网网站

  1. 网关服务器 192.168.1.1

[root@gateway-server ~]# firewall-cmd --list-all --zone=external

external (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh
ports: 12345/tcp
protocols:
masquerade: yes
forward-ports:
source-ports:
icmp-blocks: echo-request
rich rules:

2.内网客户机 192.168.1.10 、内网网站服务器 192.168.2.10

[root@localhost ~]# curl http://100.1.1.20
100.1.1.20


二、只为内部局域网主机开启地址伪装
1.网关服务器
关闭external地址伪装,添加富规则(要求external区域内,源地址为192.168.1.0/24网段开启地址ip伪装)

[root@gateway-server ~]# firewall-cmd --remove-masquerade --zone=external

[root@gateway-server ~]# firewall-cmd --zone=external --add-rich-rule=‘rule family=ipv4 source address=192.168.1.0/24 masquerade’

[root@gateway-server ~]# firewall-cmd --list-all --zone=external

external (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh
ports: 12345/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks: echo-request
rich rules:
rule family=“ipv4” source address=“192.168.1.0/24” masquerade


验证:
内网客户机 192.168.1.10 、内网网站服务器 192.168.2.10 分别访问外网站点

  1. 内网网站服务器 192.168.2.10
    [root@web ~]# curl http://100.1.1.20
    curl: (7) Failed connect to 100.1.1.20:80; 没有到主机的路由

2.内网客户机 192.168.1.10

[root@localhost ~]# curl http://100.1.1.20
100.1.1.20

如何在关闭masquer的同时开启dmz区域访问外网,

内部服务器通过防火墙上网

设置ip伪装

firewall-cmd --zone=dmz --add-masquerade --permanent

设置网卡IP的nat

firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o ens33 -j MASQUERADE

1
设置规则accept

#firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens37 -o ens33 -j ACCEPT

firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i ens33 -o ens37 -m state --state RELATED,ESTABLISHED -j ACCEPT

	三、配置端口转发---实现互联网用户访问内网web服务器
  1. 网关服务器
    配置端口转发,从external区域接收到端口80的流量转发到192.168.2.10
    [root@gateway-server ~]# firewall-cmd --zone=external --add-forward-port=port=80:proto=tcp:toaddr=192.168.2.10

验证:

1.外网客户机 100.1.1.20
访问 curl http://100.1.1.10

2.内网网站服务器 192.168.2.10

tail -f /var/log/httpd/access_log


2.如果给内网web站点申请了公网ip 100.1.1.15,端口转发

2.1 网关服务器
1)在外网接口ens33,配置为第2个ip地址
[root@gateway-server ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“static”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“ens33”

DEVICE=“ens33”
ONBOOT=“yes”
IPV6_PRIVACY=“no”
IPADDR0=100.1.1.10
NETMASK=255.255.255.0
IPADDR1=100.1.1.15
NETMASK=255.255.255.0
GATEWAY=
DNS1=
DNS2=
ZONE=external

[root@gateway-server ~]# systemctl restart network

2)配置富规则
[root@gateway-server ~]# firewall-cmd --zone=external --add-rich-rule=‘rule family=ipv4 destination address=100.1.1.15/32 forward-port port=80 protocol=tcp to-addr=192.168.2.10’

验证:同上

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值