网关服务器和网站服务器都采用centos 7操作系统;

要求如下:基本的环境配置:网关服务器配置 网卡 :

[root@localhost network-scripts]# ip a  = ip addr
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:fc:60:4b brd ff:ff:ff:ff:ff:ffinet 100.0.0.1/8 brd 100.255.255.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::5f65:9c3d:d218:7cea/64 scope link valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:fc:60:55 brd ff:ff:ff:ff:ff:ffinet 192.168.1.1/24 brd 192.168.1.255 scope global ens36valid_lft forever preferred_lft foreverinet6 fe80::7456:2bbc:dc20:31bd/64 scope link valid_lft forever preferred_lft forever
4: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:fc:60:5f brd ff:ff:ff:ff:ff:ffinet 192.168.2.1/24 brd 192.168.2.255 scope global ens37valid_lft forever preferred_lft foreverinet6 fe80::1e90:6601:56c2:c9ba/64 scope link valid_lft forever preferred_lft forever

启动网关服务器上的路由转发功能:

[root@localhost /]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@localhost /]# sysctl -p
net.ipv4.ip_forward = 1

配置 web 服务器的网卡:

[root@localhost /]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:2f:24:4b brd ff:ff:ff:ff:ff:ffinet 192.168.2.10/24 brd 192.168.2.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::19de:d9a7:568a:f34f/64 scope link valid_lft forever preferred_lft forever
[root@localhost /]# 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    100    0        0 ens33

Internet 测试机网卡配置:

[root@localhost /]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:45:66:64 brd ff:ff:ff:ff:ff:ffinet 100.0.0.10/8 brd 100.255.255.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::3ebc:8f75:cd28:e516/64 scope link tentativevalid_lft forever preferred_lft forever

web 服务器环境搭建:

[root@localhost ~]# systemctl start firewalld           #启动防火墙
[root@localhost ~]# yum -y install httpd mod_ssl          #安装httpd和mod_ssl
[root@localhost ~]# systemctl start httpd   #启动httpd服务
[root@localhost ~]# systemctl enable httpd          #设置为开机自启
[root@localhost ~]# vim /var/www/html/index.html          #新建网站测试首页文件
<h1>test.com </h1>
[root@localhost ~]# vim /etc/ssh/sshd_config              #更改SSH的侦听端口(需关闭SELinux):................
Port 12345................
[root@localhost ~]# systemctl restart sshd

在网站服务器上配置firewalld防火墙:

[root@localhost ~]# firewall-cmd --set-default-zone=dmz
success

2、为dmz区域打开https服务并添加tcp的12345端口:

[root@localhost ~]# firewall-cmd --zone=dmz --add-service=https --permanent
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
success

3、禁止ping:

[root@localhost ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent
success

4、因为已经更改了预定义SSH服务的默认端口,所以将预定义SSH服务移除:

[root@localhost ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent
success

5、重新加载firewalld配置,并查看之前的配置:

[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
dmz (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources:services: httpsports: 12345/tcpprotocols:masquerade: noforward-ports:source-ports:icmp-blocks: echo-requestrich rules:

网关服务器上配置firewalld防火墙:

[root@localhost /]# systemctl start firewalld                     #启用防火墙
[root@localhost /]# firewall-cmd --set-default-zone=external          #设置默认区域为external
success
[root@localhost /]# firewall-cmd --change-interface=ens37 --zone=trusted    #将ens37添加至trusted区域
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
[root@localhost /]# firewall-cmd --change-interface=ens38 --zone=dmz     #将ens38添加至dmz区域
The interface is under control of NetworkManager, setting zone to 'dmz'.
success

2、查看配置,并保存为永久

[root@localhost /]# firewall-cmd --get-active-zones
dmzinterfaces: ens37
externalinterfaces: ens33
trustedinterfaces: ens36
[root@localhost /]# firewall-cmd --runtime-to-permanent          # 将当前的配置保存到文件中
success

3、在企业内部主机上测试

4、更改SSH的侦听端口,并重启服务(需关闭SELinux):

[root@localhost ~]# vim /etc/ssh/sshd_config................
Port 12345................
[root@localhost ~]# systemctl restart sshd

5、配置external区域添加tcp的12345端口:

[root@localhost /]# firewall-cmd --zone=external --add-port=12345/tcp --permanent
success

6、external区域移除SSH服务:

[root@localhost /]# firewall-cmd --zone=external --remove-service=ssh --permanent
success

7、配置external区域禁止ping:

[root@localhost /]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent
success

8、重新加载防火墙配置:

[root@localhost /]# firewall-cmd --reload
success

测试ssh连接:

[root@localhost /]# ssh -p 12345 100.0.0.1
The authenticity of host '[100.0.0.1]:12345 ([100.0.0.1]:12345)' can't be established.
ECDSA key fingerprint is 68:df:0f:ac:c7:75:df:02:88:7d:36:6a:1a:ae:27:23.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[100.0.0.1]:12345' (ECDSA) to the list of known hosts.
root@100.0.0.1's password:
Last login: Sun Sep  1 16:36:33 2019
[root@localhost ~]#

使用内网测试机SSH登录web网站服务器的12345端口:

[root@localhost /]# ssh -p 12345 192.168.2.10
The authenticity of host '[192.168.2.10]:12345 ([192.168.2.10]:12345)' can't be established.
ECDSA key fingerprint is 68:df:0f:ac:c7:75:df:02:88:7d:36:6a:1a:ae:27:23.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.2.10]:12345' (ECDSA) to the list of known hosts.
root@192.168.2.10's password:
Last login: Sun Sep  1 16:36:39 2019
[root@localhost ~]#

实现 IP 伪装与端口转发:1、在Internet测试机上搭建web服务,用来测试:

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /var/www/html/index.html
<h1> www.baidu.com</h1>
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl start httpd

2、在内部测试机和dmz的网站服务区都可以访问外网的网站(若访问不了,则可能是公网测试机的防火墙配置问题,可先将公网测试机的防火墙关闭,或放行相关服务的流量即可):

3、查看网关服务器的external区域是否开启了地址伪装:

[root@localhost /]# firewall-cmd --list-all --zone=external
external (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources:services:ports: 12345/tcpprotocols:masquerade: yes                     # 表示地址伪装已启用forward-ports:sourceports:icmp-blocks: echo-requestrich rules:

4、只为源地址192.168.1.0/24网段的地址开启地址IP伪装。

[root@localhost ~]# firewall-cmd --remove-masquerade --zone=external
success
[root@localhost ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade'
success

在dmz区域上测试访问发现无法访问,但内网主机却可以:

[root@localhost /]# curl http://100.0.0.10
curl: (7) Failed connect to 100.0.0.10:80; No route to host

5、配置端口转发实现互联网用户可以访问内部web服务器:

[root@localhost /]# firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.2.10
success

在Internet测试机上访问内网的web服务器成功:

六、使用富规则实现端口转发:

上述配置完成后,若现在公司申请了一个新的公网ip地址100.0.0.254,那么就需要重新做端口转发了:

1、将新申请的公网地址100.0.0.254配置在网关服务器的外网接口ens33上,作为第二个IP地址:

[root@localhost /]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
IPADDR0=100.0.0.1                                 # 改到下四行
PREFIX0=24
IPADDR1=100.0.0.254
PREFIX1=24                                           # 添加成两个IP
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
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
ZONE=external[root@localhost /]# ifdown ens33;ifup ens33             # 重启网卡使配置生效
[root@localhost /]# ip a                           # 查看配置是否成功
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:fc:60:4b brd ff:ff:ff:ff:ff:ffinet 100.0.0.1/24 brd 100.0.0.255 scope global ens33valid_lft forever preferred_lft foreverinet 100.0.0.254/24 brd 100.0.0.255 scope global secondary ens33valid_lft forever preferred_lft foreverinet6 fe80::5f65:9c3d:d218:7cea/64 scope link valid_lft forever preferred_lft forever

2、使用富规则配置端口转发:

[root@localhost /]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.0.0.254/24 forward-port port=443 protocol=tcp to-addr=192.168.2.10'
success

3、验证

转载链接:https://blog.51cto.com/14227204/2434539

长按二维码,关注我们

新睿云,让云服务触手可及

云主机|云存储|云数据库|云网络

点击“阅读原文”参与活动

服务器配置防火墙的地址伪装和端口转发实例相关推荐

  1. centos 7配置firewall防火墙的地址伪装和端口转发实例

    环境如下图所示,网关服务器和网站服务器都采用centos 7操作系统,网关服务器安装3块千兆网卡,分别连接Internet.企业内网.网站服务器. 网关服务器连接互联网卡ens33配置为公网IP地址, ...

  2. firewalld防火墙配置IP伪装和端口转发

    IP地址伪装和端口转发都属于NAT(网络地址转换). 地址伪装和端口转发的区别如下: IP地址伪装: 1.通过地址伪装,NAT设备将经过设备的包转发到指定的接收方,同时将通过的数据包 2.源地址更改为 ...

  3. centos 7的firewalld防火墙配置IP伪装和端口转发(内附配置案例)

    IP地址伪装和端口转发都属于NAT(网络地址转换). 地址伪装和端口转发的区别如下: IP地址伪装: 通过地址伪装,NAT设备将经过设备的包转发到指定的接收方,同时将通过的数据包 源地址更改为其NAT ...

  4. firewalld防火墙(二)实验案例:ip地址伪装,端口转发

    实验要求: 全网互通 搭建网站 配置防火墙,划分区域,配置默认区域 配置ip地址伪装centos01-centos03 配置端口映射centos04-centos01 实验步骤: 一.全网互通 1.配 ...

  5. firewalld防火墙配置ip地址伪装和端口转发

    IP地址伪装 通过地址伪装,NAT设备将经过设备的包转发到指定接收方,同时将通过的数据包的原地址更改为NAT的接口地址转发到不同步目的地.当是返回数据包是,会将目的地之修改为原始主机地址并路由. 端口 ...

  6. firewalld防火墙配置、测试服务、高级配置与IP伪装、端口转发

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Firewalld防火墙 防火墙基础 一.防火墙配置 二.使用防火墙安装http服务测试分别测试内网.外网.dmz 三.firewal ...

  7. Firewalld ip伪装和端口转发

    Firewalld  ip伪装和端口转发 伪装: 此举启用区域的伪装功能.私有网络的地址将被隐藏并映射到一个公有IP.这是地址转换的一种形式,常用于路由.由于内核的限制,伪装功能仅可用于IPv4. # ...

  8. pfSense2.32端口转发设置

    pfSense上的端口转发是一个相当简单的过程.以前版本添加端口转发时,还必须添加防火墙规则,以便流量转发到端口指定的内部IP地址. 现在创建端口转发定义时可以自动添加此规则,并且默认情况下已启用该选 ...

  9. 用树莓派学Linux(三)--------SSH端口转发,跳出局域网的树莓派控制

    上一篇提到的通过SSH服务连接树莓派,是在局域网内实现的,并不能远程控制,比如树莓派在实验室,你用手机在4G网的环境下也需要操作树莓派,则需要考虑使用SSH服务的端口转发功能,实现真正的远程控制.本篇 ...

最新文章

  1. 假如鲁迅是程序员......
  2. 计算机组成原理 输入输出系统,计算机组成原理(第七章输入输出系统
  3. 一款轻量级的桌面WebServer通讯组件
  4. spring中type转换框架设计与实现
  5. 沪港通:利好出尽就是利空
  6. mysql主从数据库怎么还口令,mysql数据库主从同步方法讲解
  7. WordPress 查询数据库 操作数据库
  8. c语言结构体实现存储信息,用C语言结构体实现通讯录
  9. java年龄不能超过120,systemd 代码行数超过 120 万,创始人贡献的 commits 最多
  10. 浅谈管道模型(Pipeline)
  11. 基于Modbus/TCP的西门子1200PLC和STM32通信
  12. 【51/STM32】详解控制系统中的继电器
  13. polsarpro的开源代码_13个开源遥感软件包
  14. 智慧路灯网关下的校园智慧路灯照明解决方案
  15. 外存储器——硬盘存储器
  16. 高防CDN是什么?有什么作用?
  17. ui设计现状与意义_UI设计师的前景与现状?
  18. 出现顺丰丢件很好办,做好这几点就可无忧
  19. 【AI测试】人工智能测试整体介绍——第七部分
  20. 大暑节气海报图片|大暑节气海报文案

热门文章

  1. Nelder Mead算法推荐阅读博文
  2. STM 32简单编程实例
  3. ET篇:ETBook笔记(1.2 为什么使用C# .net core做服务端?)
  4. Vue中如何引入ElementUI
  5. 计算机专业省赛一等奖有什么好处,省技能大赛一等奖好处都有什么
  6. 单元测试中的打桩技术
  7. matlab ccd驱动,CCD常见驱动比较
  8. 华为H3C配置单臂路由、静态默认浮动路由的配置方法
  9. 砌下落梅如雪乱——剑雪无名
  10. 从成本角度理解盈利和亏损