首页 > 系统相关 >@linux --firewalld防火墙概述

@linux --firewalld防火墙概述

时间:2022-10-09 23:35:01浏览次数:51  
标签:iptables -- firewalld tcp 防火墙 web02 linux root


firewalld防火墙

一、防火墙安全概述

在CentOS7系统中集成了多款防火墙管理工具,默认启用的是firewalld(动态防火墙管理器)防火墙管理工具,Firewalld支持CLI(命令行)以及GUI(图形)的两种管理方式。

对于接触Linux较早的人员对Iptables比较熟悉,但由于Iptables的规则比较的麻烦,并且对网络有一定要求,所以学习成本较高。但firewalld的学习对网络并没有那么高的要求,相对iptables来说要简单不少,所以建议刚接触CentOS7系统的人员直接学习Firewalld。

@linux --firewalld防火墙概述_firewalld

需要注意的是:如果开启防火墙工具,并且没有配置任何允许的规则,那么从外部访问防火墙设备默认会被阻止,但是如果直接从防火墙内部往外部流出的流量默认会被允许。

firewalld 只能做和IP/Port相关的限制,web相关的限制无法实现。

二、防火墙区域管理

那么相较于传统的Iptables防火墙,firewalld支持动态更新,并加入了区域zone的概念

简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据不同的场景选择不同的策略模板,从而实现防火墙策略之间的快速切换
需要注意的是Firewalld中的区域与接口

一个网卡仅能绑定一个区域, eth0 -->A区域
但一个区域可以绑定多个网卡。A区域-->eth0 eth1 eth2
还可以根据来源的地址设定不同的规则。比如:所有人能访问80端口,但只有公司的IP才允许访问22端口。

区域

区域

默认规则策略

trusted

允许所有的数据包流入流出

home

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client与dhcpv6-client服务相关,则允许流量

internal

等同于home区域

work

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、ipp-client、dhcpv6-client服务相关,则允许流量

public

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量

external

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

dmz

拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh服务相关,则允许流量

block

拒绝流入的流量,除非与流出的流量相关

drop

拒绝流入的流量,除非与流出的流量相关

#必须要记住的三个区域,其他的无所谓

三、防火墙基本指令参数

1.firewall-cmd命令分类列表

参数

作用

zone区域相关指令

–get-default-zone

获取默认的区域名称

–set-default-zone=<区域名称>

设置默认的区域,使其永久生效

–get-active-zones

显示当前正在使用的区域与网卡名称

–get-zones

显示总共可用的区域

–new-zone=

新增区域

services服务相关命令

–get-services

列出服务列表中所有可管理的服务

–add-service=

设置默认区域允许该填加服务的流量

–remove-service=

设置默认区域不允许该删除服务的流量

Port端口相关指令

–add-port=<端口号/协议>

设置默认区域允许该填加端口的流量

–remove-port=<端口号/协议>

置默认区域不允许该删除端口的流量

Interface网站相关指令

–add-interface=<网卡名称>

将源自该网卡的所有流量都导向某个指定区域

–remove-interface=<网卡名称>

取消网卡绑定区域

sourceIP相关指令

–add-source=<IP/位数>

设置默认IP允许服务的流量

–remove-source=<IP/位数>

移除设置的默认IP允许服务的流量

其他相关指令

–list-all

显示当前区域的网卡配置参数、资源、端口以及服务等信息

–reload

让“永久生效”的配置规则立即生效,并覆盖当前的临时规则

四、防火墙区域配置策略

为了能正常使用firewalld服务和相关工具去管理防火墙,必须启动firewalld服务,同时关闭以前旧的防火墙相关服务,需要注意firewalld的规则分为两种状态:

runtime运行时: 修改规则马上生效,但如果重启服务则失效,测试建议。
permanent持久配置: 修改规则后需要reload重载服务才会生效,生产建议。

1.禁用与取消禁用防火墙

#禁用防火墙
[root@web02 ~]# systemctl mask iptables.service
Created symlink from /etc/systemd/system/iptables.service to /dev/null.

#取消禁用防火墙
[root@web02 ~]# systemctl unmask iptables.service

2.启动firewalld

[root@web02 ~]# systemctl stop firewalld
[root@web02 ~]# systemctl start firewalld
[root@web02 ~]# systemctl enable firewalld

3.firewalld常用命令

#查看默认使用的区域
[root@web02 ~]# firewall-cmd --get-default-zone
public

#查看区域的规则
[root@web02 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports: 80/tcp 80/udp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

#指定查看区域规则
[root@web02 ~]# firewall-cmd --list-all --zone=public
public (active) #区域(活跃的)
target: default #状态:默认
icmp-block-inversion: no #ICMP块
interfaces: eth0 eth1 #区域绑定的网卡
sources: #允许流量的IP
services: ssh dhcpv6-client #允许流量的服务
ports: 80/tcp 80/udp #允许流量的端口
protocols: #允许流量的协议 {'tcp'|'udp'|'sctp'|'dccp'}
masquerade: no #ip 伪装
forward-ports: #端口转发
source-ports: #来源端口
icmp-blocks:
rich rules: #富规则

#查询区域是否允许某服务
[root@web02 ~]# firewall-cmd --zone=public --query-service=ssh
no

#重启防火墙(清理临时的设置)
[root@web02 ~]# firewall-cmd --reload

4.配置测试

**配置要求:**调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许

#配置默认区域拒绝所有的访问
[root@web02 ~]# firewall-cmd --remove-service={ssh,dhcpv6-client}
success
[root@web02 ~]# firewall-cmd --remove-port={80/tcp,80/udp}
success
[root@web02 ~]# firewall-cmd --remove-protocol={tcp,udp}
success

#配置允许的网段
[root@web02 ~]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted
success

#查看使用的区域规则
[root@web02 ~]# firewall-cmd --get-active-zones

五、防火墙配置放行策略

1.firewalld放行服务

[root@web02 ~]# firewall-cmd --add-service=http
success

[root@web02 ~]# firewall-cmd --add-service={http,https}
success

#可以自己配置服务添加
[root@web02 ~]# cp /usr/lib/firewalld/services/{http.xml,suibian.xml}
[root@web02 ~]# firewall-cmd --add-service=suibian

2.firewalld放行端口

[root@web02 ~]# firewall-cmd --add-port=80/tcp
success
[root@web02 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports: 80/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:

#移除允许的端口
[root@web02 ~]# firewall-cmd --remove-port=80/tcp

3.放行网段

#配置允许的网段
[root@web02 ~]# firewall-cmd --add-source=10.0.0.0/24 --zone=trusted

六、防火墙配置端口转发策略

端口转发是指传统的目标地址映射,实现外网访问内网资源
流量转发语法为:
firewalld-cmd --permanent --zone=<区域> --add-forward-port=port=<源端口号>:proto=<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

1.端口转发实现

实例: 需要将本地的10.0.0.8:5555端口转发至后端172.16.1.7:22端口

#1.添加端口转发
[root@web02 ~]# firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.7
success

#2.开启IP伪装
[root@web02 ~]# firewall-cmd --add-masquerade
success

#3.查看规则
[root@web02 ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0 eth1
sources:
services: ssh dhcpv6-client
ports: 80/tcp
protocols:
masquerade: yes
forward-ports: port=5555:proto=tcp:toport=22:toaddr=172.16.1.7
source-ports:
icmp-blocks:
rich rules:

#4.测试连接
[d:\~]$ ssh 10.0.0.8 5555

Connecting to 10.0.0.8:5555...
Connection established.
To escape to local shell, press Ctrl+Alt+].

Last login: Sun Mar 15 19:55:23 2020 from 10.0.0.1
[root@web01 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:c6:7b:51 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:c6:7b:5b brd ff:ff:ff:ff:ff:ff
inet 172.16.1.7/24 brd 172.16.1.255 scope global noprefixroute eth1
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fec6:7b5b/64 scope link
valid_lft forever preferred_lft forever
[root@web01 ~]#

七、防火墙富规则

firewalld中的富语言规则表示更细致,更详细的防火墙策略配置,他可以针对系统服务、端口号、原地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的,下面为firewalld富语言规则帮助手册
#富规则语法
[root@web02 ~]# man firewalld.richlanguage
rule
[source]
[destination]
service|port|protocol|icmp-block|icmp-type|masquerade|forward-port|source-port
[log]
[audit]
[accept|reject|drop|mark]

rule [family="ipv4|ipv6"]
source address="address[/mask]" [invert="True"]
service name="service name"
port port="port value" protocol="tcp|udp"
protocol value="protocol value"
forward-port port="port value" protocol="tcp|udp" to-port="port value" to-addr="address"
accept | reject [type="reject type"] | drop

#富语言规则相关命令
--add-rich-rule='<RULE>' #在指定的区域添加一条富语言规则
--remove-rich-rule='<RULE>' #在指定的区删除一条富语言规则
--query-rich-rule='<RULE>' #找到规则返回0,找不到返回1
--list-rich-rules #列出指定区里的所有富语言规则

1.实例一

例题:允许10.0.0.1主机能够访问http服务,允许172.16.1.0/24能访问10050端口

#允许10.0.0.1主机能够访问http服务
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 service name=http accept'

#允许172.16.1.0/24能访问10050端口
[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 port port=111 protocol=tcp accept'

2.实例二

例题:默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh reject'

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh drop'

#drop和reject

3.实例三

例题:当用户来源IP地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.7的22端口

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.1 forward-port port=5555 protocol=tcp to-port=22 to-addr=172.16.1.7'
success
[root@web02 ~]# firewall-cmd --add-masquerade

4.查看富规则

[root@web02 ~]# firewall-cmd --list-rich-rules
rule family="ipv4" source address="10.0.0.1" forward-port port="5555" protocol="tcp" to-port="22" to-addr="172.16.1.7"

5.firewalld配置禁ping

[root@web02 ~]# firewall-cmd --add-rich-rule='rule family=ipv4 protocol value=icmp drop'

注:一般所有的拒绝或接受都配置在默认区域,当指定IP访问指定端口或者服务的时候使用富规则

八、防火墙规则备份

#我们防火墙的配置,永久生效后会保存在/etc/firewalld/zones/这个目录下面,所以如果进行服务器集群扩展,或者配置相同防火墙时,只需要把该文件拿过来启动防火墙即可

#备份也备份以上文目录

#备份文件一定是在永久生效后才会在目录下多生成一个文件

九、防火墙内部共享上网

在指定的带有公网IP的实例上启动Firewalld防火墙的NAT地址转换,以此达到内部主机上网。

在公司里面,服务器上没有外网的,除非使用路由器,或者使用防火墙实现内部共享上网

1.开启IP伪装

[root@web02 ~]# firewall-cmd --add-masquerade 
success
[root@web02 ~]# firewall-cmd --add-masquerade --permanent
success
[root@web02 ~]#

2.开启内核转发(如果使用iptables必须手动开启,firewalld不需要手动开启)

#配置内核转发
[root@m01 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1

#在CentOS6中开启之后生效命令
[root@m01 ~]# sysctl -p

#查看内核转发是否开启
[root@m01 ~]# sysctl -a|grep net.ipv4.ip_forward
net.ipv4.ip_forward =

3.配置没有外网机器的网关地址

[root@web03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
#最后添加
GATEWAY=172.16.1.8
DNS1=223.5.5.5

#重启网卡
[root@web03 ~]# ifdown eth1 && ifup eth1

4.测试访问外网

iptables防火墙

一、iptables防火墙概述

1.应用场景

1.主机安全
2.内部共享上网
3.端口或IP映射

2.iptables工作流程

1.匹配规则是从上往下的依次执行的
2.只要匹配上规则,就不会再往下执行
3.如果都没有匹配到规则,就执行默认的规则
4.防火墙默认规则最后执行,默认允许所有

#注意:匹配越多的规则越往前放

二、iptables四表五链

#四表:
1.Filter表
2.NAT表
3.Managle表
4.Raw表

#五链:

1.filter表

主要作用就是阻止和允许访问
包含的链:
1.INPUT:过滤进入主机的数据包
2.FORWARD:负责转发流经主机的数据包
3.OUTPUT:处理从主机出去的数据包

2.NAT表

主要作用就是端口和IP转发
包含的链:
1.OUTPUT:处理从主机出去的数据包
2.PREROUTING:在数据包到达防火墙时进行判断,改写数据包目的地址或端口(端口转发)
3.POSTRUTING:在数据包到达防火墙时进行判断,改写数据包目的地址或端口(局域网共享上网)

三、iptables安装

1.安装iptables

[root@web02 ~]# yum install -y iptables-services

2.加载防火墙的内核模块

[root@m01 ~]# modprobe ip_tables
[root@m01 ~]# modprobe iptable_filter
[root@m01 ~]# modprobe iptable_nat
[root@m01 ~]# modprobe ip_conntrack
[root@m01 ~]# modprobe ip_conntrack_ftp
[root@m01 ~]# modprobe ip_nat_ftp
[root@m01 ~]# modprobe ipt_state

#查看加载的模块
[root@m01 ~]# lsmod | egrep 'filter|nat|ipt'

3.停止firewalld,启动iptables

[root@web02 ~]# systemctl stop firewalld
[root@web02 ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@web02 ~]# systemctl start iptables.service

四、iptables常用参数

#常用参数
(a)链管理:
-N:new, 自定义一条新的规则链;
-X: delete,删除自定义的规则链;
注意:仅能删除 用户自定义的 引用计数为0的 空的 链;
-P:Policy,设置默认策略;对filter表中的链而言,其默认策略有:
ACCEPT:接受
DROP:丢弃
REJECT:拒绝
-E:重命名自定义链;引用计数不为0的自定义链不能够被重命名,也不能被删除;

(b)规则管理:
-A:append,追加;
-I:insert, 插入,要指明位置,省略时表示第一条;
-D:delete,删除;
(1) 指明规则序号;
(2) 指明规则本身;
-R:replace,替换指定链上的指定规则;

-F:flush,清空指定的规则链;
-Z:zero,置零;
iptables的每条规则都有两个计数器:
(1) 匹配到的报文的个数;
(2) 匹配到的所有报文的大小之和;
(c)查看:
-L:list, 列出指定鏈上的所有规则;
-n:numberic,以数字格式显示地址和端口号;
-v:verbose,详细信息;
-vv, -vvv
-x:exactly,显示计数器结果的精确值;
--line-numbers:显示规则的序号;

五、iptables常用操作

1.查看防火墙(默认filter表)

[root@web02 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source

2.查看防火墙规则,指定nat表

[root@web02 ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
[root@web02 ~]#

3.清除防火墙规则

#删除链中所有的规则
[root@web02 ~]# iptables -F
#删除用户定义的链
[root@web02 ~]# iptables -X
#规则计数器清零
[root@web02 ~]# iptables -Z

4.添加防火墙规则

[root@web02 ~]# iptables -t filter -A INPUT -p tcp --dport 22 -j DROP

iptables #命令
-t #指定表
filter #表名字
-A #添加规则至链的最后
INPUT #链名字
-p #指定协议
tcp #tcp协议
--dport #指定端口
-j #指定动作
DROP #丢弃

5.删除防火墙规则

[root@web02 ~]# iptables -nL --line-numbers
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306

Chain FORWARD (policy ACCEPT)
num target prot opt source destination

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
[root@web02 ~]#
[root@web02 ~]# iptables -D INPUT 2

六、防火墙配置实例

1.禁止端口访问

[root@web02 ~]# iptables -t filter -A INPUT -p tcp --dport 3306 -j DROP

2.拒绝IP访问

#配置访问抛弃
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.7 -i eth0 -j DROP
-s 指定源地址
-i 指定网卡
#测试访问
[root@web01 ~]# curl 10.0.0.8
curl: (7) Failed connect to 10.0.0.8:80; Connection timed out


#配置访问拒绝
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.9 -i eth0 -j REJECT
#访问测试
[root@web03 ~]# curl 10.0.0.8
curl: (7) Failed connect to 10.0.0.8:80;

3.禁止IP网段访问

[root@web02 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.0/24 -i eth0 -j DROP

4.只允许某个IP访问

[root@web02 ~]# iptables -t filter -A INPUT -p tcp ! -s 10.0.0.1 -i eth0 -j DROP

5.匹配端口范围

#拒绝多个端口访问,可以使用逗号隔开
[root@web02 ~]# iptables -t filter -A INPUT -p tcp -m multiport --dport 21,22,23,24 -j DROP
-m #指定扩展项
multiport #多端口匹配

#写端口范围可以使用 : 在端口之间
[root@web02 ~]# iptables -t filter -A INPUT -p tcp --dport 22:100 -j DROP

七、企业里一般怎么配置

1.配置之前考虑下

1.考虑防火墙开在哪台机器上
2.该机器部署了什么服务
nginx
keepalived
3.服务开启的是什么端口
80
443
22
4.默认规则为所有都拒绝

2.配置安全规则

#允许访问80和443
iptables -I INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT

-I 添加规则至前面

#只允许跳板机连接22端口
iptables -A INPUT -p tcp -s 172.16.1.61 --dport 22 -j ACCEPT

#禁止ping
iptables -A INPUT -p icmp --icmp-type 8 ! -s 172.16.1.61 -j DROP

#允许访问外网
iptables -A INPUT -i eth0 -j ACCEPT

#默认拒绝所有

天坑:

根据以上配置方法,最后一步设置了默认拒绝所有规则,那么跳板机连接主机后,千万不要进行清理防火墙的操作,否则就什么都连接不上了
因为清理防火墙规则不会清理'iptables -P INPUT DROP'这一条规则,那么防火墙默认规则就变成所有都dorp了
#解决方法:
需要到虚拟机或者物理机上操作
1.iptables -P INPUT ACCEPT
2.systemctl restart iptables
3.重启物理机(有风险)

#避免方法:
1.将 iptables -P INPUT ACCEPT 加到定时任务(测试阶段可用该方法)
* * * * * /usr/sbin/iptables -P INPUT ACCEPT
2.其他环境测试,测试没有问题后,复制所有规则到环境执行
3.配置前,先保存之前的防火墙规则,根据以前的规则修改
[root@web01 ~]# iptables-save > iptables_m01_20200116
修改后导入规则
[root@web01 ~]# iptables-restore < iptables_m01_20200116

3.企业中配置

iptables -F
iptables -X
iptables -Z
iptables -A INPUT -p tcp -m multiport --dport 80,443 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 10.0.1.0/24 -j ACCEPT
iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -nL

八、防火墙规则永久生效

#把规则写入iptables配置文件
[root@m01 ~]# vim /etc/sysconfig/iptables
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*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 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

#保存已经配置的规则
[root@m01 ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

九、内部共享上网

1.在m01上操作

echo 'net.ipv4.ip_forward = 1' >>

2.没有外网ip的主机操作

[root@web01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
GATEWAY=172.16.1.61
DNS1=223.5.5.5

[root@web01 ~]# ifdown eth1 && ifup eth1

十、端口转发和IP转发

1.端口转发

[root@m01 ~]# iptables -t nat -A PREROUTING -d 10.0.0.61 -p tcp --dport 5555 -j DNAT --to-destination 172.16.1.7:22

[root@m01 ~]# iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j SNAT --to-source 10.0.0.61

2.IP转发

[root@m01 ~]# iptables -t nat -A PREROUTING -d 10.0.1.61 -j DNAT --to-destination 172.16.1.7


标签:iptables,--,firewalld,tcp,防火墙,web02,linux,root
From: https://blog.51cto.com/u_15166421/5742159

相关文章

  • @linux文件的备份与恢复(lvm)
    1、什么是lvm你如何保证你的硬盘空间恰好够用?如果你的硬盘你够用了怎么扩容?LVM是文件系统管理工具/root/oldboy--->lv[5G]/root/oldboy--->lv[3G]2、LVM的优点1、可以......
  • Overseas Chinese Community All In One
    Well-knownOverseasChineseCommunityAllInOne知名海外华人社区汇总一亩三分地社区:留学|申请|求职|移民|生活-高信噪比+纯干货北美最有影响力的华人社区......
  • @nginx及配置https
    文章目录​​一、rewrite伪静态实例​​​​1.搭建discuz​​​​2.rewrite规则补充​​​​1)rewrite匹配优先级​​​​2)rewrite的全局变量​​​​二、HTTPS​​​​1.模......
  • 浮动的清除方法
    <!DOCTYPEhtml><htmllang="zh-CN"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"con......
  • 你买的系统可能不是你的系统
    前段时间一则汽车相关的新闻在车友圈炸开了锅,内容是某马汽车推出了座椅和方向盘加热的增值功能,车主可以通过在线商店,通过付费订阅解锁车辆的座椅加热以及方向盘加热。当然,该......
  • 实验5:开源控制器实践——POX
    (一)基本要求1.搭建下图所示SDN拓扑,协议使用OpenFlow1.0,控制器使用部署于本地的POX(默认监听6633端口)2.阅读Hub模块代码,使用tcpdump验证Hub模块; h1pingh2:  ......
  • TCP与UDP的联系与区别
    1.传输控制协议(TransmissionControlProtocol,TCP)是一种可靠的面向连接的字节流服务。源主机在传送数据前需要先和目标主机建立连接。然后在此连接上,被编号的数据段按序......
  • @网络通信原理
    文章目录​​一.互联网的一些网络协议​​​​1.操作系统简述:​​​​1>.网络介绍:​​​​2>.什么是网络:​​​​2.计算机互联网协议简述​​​​3.互联网协议的功能:​​......
  • 每周总结
    这周测试了Hive的数据分析,将样表的数据导入到HIVE的数据仓库中。并进行了数据清洗,将day_id一列的数值清洗为真实的日期格式。进行数据分信息处理,就是进行不同条件的查询,......
  • @LNMP的架构体系
    文章目录​​LNMP​​​​什么是LNMP?​​​​LNMP工作方式​​​​1.访问流程​​​​LNMP架构搭建​​​​1.安装nginx​​​​1)配置官方源​​​​2)安装nginx​​​​3)配......