firewalld防火墙IP伪装和端口转发

article/2025/10/16 3:22:45

实验案例:firewall防火墙的地址伪装和端口转发
实验环境
某公司的Web服务器、网关服务器均采用Linux CentOS 7.3操作系统,如图所示。为了加强网络访问的安全性,要求管理员熟悉firewall防火墙规则的编写,以制定有效、可行的主机防护策略。
实验拓扑:
在这里插入图片描述

需求描述:
网关服务器ens33网卡分配到trusted(信任)区域,ens34网卡分配到external(外部)区域,ens35网卡分配到dmz(非军事)区域。
网站服务器和网关服务器将ssh默认端口都改为12345
网站服务器开启https,过滤未加密的http流量,且拒绝ping。
公司内网用户需要通过网关服务器共享上网
互联网用户需要访问网站访问
实验步骤:
Step①基本环境配置
(1)为网关服务器与网站服务器配置主机名及网卡地址
网关服务器:
[root@Centos ~]# hostnamectl set-hostname trusted
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

企业内网测试机:
[root@trusted ~]# hostnamectl set-hostname trusted
在这里插入图片描述

Internet测试用机
[root@externsl ~]# hostnamectl set-hostname externsl
在这里插入图片描述

网站服务器:
[root@dmz ~]# hostnamectl set-hostname dmz
在这里插入图片描述

更改SSH的监听端口
网关改ssh端口
[root@gateway ~]# vim /etc/ssh/sshd_config
网站改ssh端口
[root@dmz ~]# vim /etc/ssh/sshd_config
在这里插入图片描述

[root@gateway ~]# systemctl restart sshd //重新启动服务
(2)开启网关服务器的路由转发功能
[root@gateway ~]# vim /etc/sysctl.conf
在这里插入图片描述Step②在网站服务上部署web站点
(1) 安装httpd和mod_ssl软件包
[root@dmz ~]# yum -y install httpd mod_ssl
(2) 启用并启动httpd服务
[root@dmz ~]# systemctl start httpd
[root@dmz ~]# systemctl enable httpd
(3) 创建网站测试页
[root@dmz ~]# echo “this is a test web” >> /var/www/html/index.html
Step③为网站服务和网关服务编写firewalld规则
(1) 网站服务规则
1) 开启并启动firewall
[root@dmz ~]# systemctl start firewalld
[root@dmz ~]# systemctl enable firewalld
2) 将默认区域改为dmz
[root@dmz ~]# firewall-cmd --set-default-zone=dmz
查看默认区域
[root@dmz ~]# firewall-cmd --get-default-zone
Dmz
3) 为dmz区域打开https服务及添加TCP的12345端口
[root@dmz ~]# firewall-cmd --zone=dmz --add-service=https --permanent
[root@dmz ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
(–permanent为设置永久性规则)
4)禁止ping
[root@dmz ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz –permanent
5) 因为预定义的ssh更改了默认端口,所以将预定义ssh服务移除
[root@dmz ~]# firewall-cmd --zone=dmz --remove-service=ssh –permanent
6) 重新加载firewalld激活配置,并查看
[root@dmz ~]# firewall-cmd –reload
[root@dmz ~]# firewall-cmd --list-all --zone=dmz

(2)在网关服务器上配置firewalld防火墙
1)启动并启用防火墙
[root@gateway ~]# systemctl start firewalld
[root@gateway ~]# systemctl enable firewalld
查看防火墙状态
[root@gateway ~]# firewall-cmd --state
running
2)设置默认区域为external区域,并查看配置结果
[root@gateway ~]# firewall-cmd --set-default-zone=external
在这里插入图片描述

4) 将ens32网卡配置到trusted区域,将ens35配置到dmz区域
[root@gateway ~]# firewall-cmd --change-interface=ens32 --zone=trusted
[root@gateway ~]# firewall-cmd --change-interface=ens35 --zone=dmz
查看配置
[root@gateway ~]# firewall-cmd --get-active-zones
在这里插入图片描述

5) 配置external区域添加TCP的12345端口
[root@gateway ~]# firewall-cmd --zone=external --add-port=12345/tcp –permanent
6) 配置external区域移除SSH服务
[root@gateway ~]# firewall-cmd --zone=external --remove-service=ssh --permanent
7)配置external区域禁止ping
[root@gateway ~]# firewall-cmd --zone=external --add-icmp-block=echo-request –permanent
8) 重新加载防火墙激活配置
[root@gateway ~]# firewall-cmd –reload

验证;

  1. 在互联网测试计算机上通过SSH登录网关外部接口12345端口
    [root@externsl ~]# ssh -p 12345 192.168.200.20
    在这里插入图片描述

2)在企业内网测试计算机SSH登录web网站服务器的12345端口
[root@trusted ~]# ssh -p 12345 192.168.10.10
在这里插入图片描述

3)在企业内网测试机上访问网站服务器
在这里插入图片描述

配置IP伪装与端口转发
1.内网用户通过网关服务器共享上网
1)外网搭建网站服务,并添加测试内容
[root@externsl ~]# yum install -y httpd
[root@externsl ~]# echo “www.benet.com” >> /var/www/html/index.html
启动服务
[root@externsl ~]# systemctl start httpd
2)内部测试机访问外网网站,可以访问
在这里插入图片描述

3)在dmz网站服务上测试,同样可以访问
在这里插入图片描述

4)查看网关服务器的external区域是否开启地址伪装
在这里插入图片描述

5)在网关服务器上关闭external的地址伪装,添加富规则,要求external区域内,源地址192.168.100.0/24网段地址开启地址伪装
[root@gateway ~]# firewall-cmd --list-all --zone=external
firewall-cmd --zone=external --add-rich-rule=‘rule family=ipv4 source address=192.168.100.0/24 masquerade’
在dmz的网站服务器测试,发现无法访问外网网站
在这里插入图片描述

2.配置端口转发实现互联网用户访问内部web服务
1)将内网服务的192.168.100.10的443号端口映射到web服务器IP地址192.168.10.10 的443端口
[root@gateway ~]# firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.10.10
2)在互联网测试机访问内部web服务成功
在这里插入图片描述

3)如给内网的服务器申请一个新的公网地址192.168.200.15,做端口转发
①将新公网地址192.168.200.15配置在网关服务器外接口ens34上,作为第二个IP地址
[root@gateway ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34
在这里插入图片描述

重启服务
[root@gateway ~]# systemctl restart network
[root@gateway ~]# ip add //查看
②使用富规则配置端口转发
[root@gateway ~]#firewall-cmd --zone=external --add-rich-rule=‘rule family=ipv4 destination address=192.168.200.15/32 forward-port port=443 protocol=tcp to-addr=192.168.10.10’
③在互联网测试机访问测试结果

在这里插入图片描述


http://chatgpt.dhexx.cn/article/yQPMpUi7.shtml

相关文章

Firewalld防火墙IP伪装与端口转发

富语言规则选项 (1)富语言规则特点 表达式防火墙配置语言 语法不严格 配置灵活性简单 (2)富语言规则动作类型 accept:允许访问 drop:拒绝访问,不给用户提醒 reject:拒绝访问&#x…

linux服务器IP伪造,Linux服务器间同网段IP伪装端口映射

Linux服务器间同网段IP传伪装端口映射 主机(网关)ip:192.168.4.18 目标主机 ip :192.168.4.25 映射端口: 21 echo "1" > /proc/sys/net/ipv4/ip_forward #/sbin/rmmod ipchains /sbin/modprobe ip_tables /sbin/modprobe iptable_filter /sbin/modprobe iptable_n…

scrapy爬虫实战:伪装headers构造假IP骗过ip138.com

scrapy爬虫实战:伪装headers构造假IP骗过ip138.com Middleware 中间件伪造HeaderUtil.pymiddlewares.pysettings.pyip138.py 我们在爬虫的过程中,经常遇到IP被封的情况,那么有没有伪装IP的方案呢,对于一些简单的网站我们只要伪造一…

搭建IP代理池伪装IP地址

1、下载开源IP代理池源代码 https://github.com/Python3WebSpider/ProxyPool 2、安装Redis https://github.com/MicrosoftArchive/redis/releases 3、安装相关所需的 python 模块 Windows PowerShell 版权所有 (C) Microsoft Corporation。保留所有权利。PS C:\Windows\sys…

linux如何伪装ip,如何伪装你的IP(二)

Linux上使用 IP Masquerade l 核心 2.0.x 的原始程式码可以从这里取得 ftp://ftp.funet.fi/pub/Linux/kernel/src/v2.0/ l 可载入核心模组,最好是 2.0.0 或更新的版本,可以从这里取得 http://www.pi.se/blox/modules/modules-2.0.0.tar.gz (至少需要 modules-1.3.57 ) l 设定…

PHP 伪装IP地址 数据采集 GET、POST请求

大家都知道,你采集别人的网站,可能封掉你的IP地址,那么肯定就不能用自己的真实IP地址了,今天我们就浅谈PHP伪装IP地址,进行数据采集! 首先,我用的是TP5框架,把IP伪装及数据采集封装…

android伪装mac地址,安卓手机如何伪装ip或者mac地址

满意答案 kgcvzz 2015.12.14 采纳率:45% 等级:9 已帮助:515人 android 是Linux内核,linux中mac地址是保存在/etc/init.d/networ 文件中的 但是在android中mac地址是直接写在硬件中的,需要通过API 才能获取 1、Android 获取本机Mac 地址方法…

ip地址伪装php,技术教程:如何使用浏览器插件伪装IP地址

步骤: 1、安装插件Modify Headers 进入 2、在浏览器右上角点小图标,选择打开“Open ModifyHeaders”,如下图所示。 3、如图依次选择 Add → 输入 X-Forwarded-For → 自定义IP地址 → 点Add按钮完成添加。 举一反三:可添加其他HTT…

08_基于IP的伪装

文章目录 爬虫的伪装动态IP接入指南IP代理中间件编写Setting中配置Middleware 博文配套视频课程:24小时实现从零到AI人工智能 爬虫的伪装 如果不进行伪装则我们每次采用相同IP抓取数据时可以会被目前服务器的防火墙之别,伪装有两种:配置代理I…

如何通过反向代理实现伪装IP?

首先说明什么是反向代理? 一句话解释,就是隐瞒真实IP让代理服务器IP暴露,客户在访问资源的时候,以为是从这个暴露IP获得的资源。 不好理解的话,先想想正向代理的实例——虚拟专用网络: 反向代理&#xff…

vscode+web_网页预览插件live preview/live server preview/live server

文章目录 live preview启动内部预览窗口vscode内启动浏览器dev tool窗口 pity live server preview启动 live server启动 live preview download 插件不错,支持实时预览,还支持调试工具 启动 内部预览窗口 或者用command palette: command palette: vscode内启动浏览器dev t…

【vue】 接口返回的preview是张图片,前端如何渲染

文章目录 问题解决第一种第二种 效果 接口返回的preview是张图片,前端如何渲染 问题 可以看到这里接口返回的preview是一张图片,response里什么也没有 前端(vue2)如何将图片渲染到页面上呢? 解决 第一种 也是最简单…

WinDbg Preview简单使用

WinDbg Preview简单使用 CLR程序调试入门dump包的抓取WindowsLinux 基本dump包分析SOS 调试扩展获取对应的clr.dll以及sos.dll加载基于sos的符号加载sos异常及处理方法 CLR程序调试入门 程序不光要能跑,还要能一直稳定的跑。前段时间线上接口时不时就会整体Down一下…

android studio preview 不显示

我们在使用android studio开发的时候,可以直接预览页面,右上角 preview 非常方便。 但是有时候我们会碰到一些问题 1.点开不显示预览画面 解决:默认第一次是不显示的,需要成功编译一次后可显示。如果编译后不显示 ,…

VS Code Python预览插件Python preview的使用

VS Code Python预览插件的名称为Python preview,作者为dongli,当前版本0.0.4。该插件可提供简单的调试工具和代码预览。 安装与使用 安装 在插件搜索框输入Python preview安装。 简易使用 插件安装成功后,编辑器右上角将添加一个预览按钮…

Android Camera APP preview buffer 总体流程

文章目录 前言Camera preview 总体概括Establish snapdragon surfaceview surfaceCamera Device Create Preview Session Camera preview 详细流程Camera Buffer FlowCamera Service dequeue bufferGraphic buffer is transmit by binder to surfaceflinger process Display mo…

微软 Visual Studio 2022 Preview 3 发布

本文转载自IT之家 IT之家 8 月 13 日消息 时隔近一个月,微软终于发布了 Visual Studio 2022 Preview 3 版本,本次更新带来了关于个人和团队生产力、现代开发和不断创新为主题的新功能。 个人和团队生产力 在 Visual Studio 2022 Preview 3 中&#xff…

VMware Workstation创建Windows 10 Insider Preview (Release Preview Channel) - Build 19045.1826虚拟机

大家好,还记得我们上次干了什么?没错,我们创建了一个Windows 11 Insider Preview (Dev Channel) - Build 25179的虚拟机,那我们这次就来创建一个Windows 10 Insider Preview (Release Preview Channel) - Build 19045.1826的虚拟机…

VS code Markdown Preview Enhanced 预览白色改为黑色

VS code Markdown Preview Enhanced 预览白色改为黑色 1. 预览默认为白色2. 预览改为黑色参考 1. 预览默认为白色 2. 预览改为黑色 参考 Markdown Preview Enhanced doc

配置LiveServer时没有use browser preview设置栏目

在配置VScode显示html文件时,出现了use browser preview设置栏不存在: 在最新的VScode中: 由于此扩展已经弃用,所以在配置Live Server时只有20个设置项 解决方法: 打开Live Server扩展: 点击卸载下的下拉选…