模拟搭建私网访问外网、外网访问服务器服务的实践操作

目录

实验环境

实践要求

一、准备工作

1、准备四台虚拟机,分别标号

2、 防火墙额外添加两块网卡,自定义网络连接模式

3、 关闭虚拟机的图形管理工具

4、关闭防火墙

 5、分别配置四台虚拟机的IP地址,此处举一个例子(使用的临时分配地址)

 6、开启防火墙路由转发功能并验证

7、配置内网机和服务器的网关地址

8、 给服务器安装nginx服务

9、测试各个主机之间的连接情况

 二、内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。

三、内部网络服务器s1通过DNAT发布服务到互联网。

四、互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接。


实验环境

  • 内部PC1位于内网区域,地址段为: 192.168.1.0/24,pc1地址为:192.168.1.1/24,网关地址为:192.168.1.254/24

  • 服务器S1位于服务器区域,地址段为: 192.168.2.0/24,pc1地址为:192.168.2.1/24,网关地址为:192.168.2.254/24

  • PC2位于互联网区域,模拟外部互联网,地址段为:10.0.0.0/8,pc2地址为:10.0.0.1/8

  • Linux防火墙的三块网卡为别连接不同的网络区域,地址分别为 :ens33 192.168.1.254/24;ens34 10.0.0.100/8;ens35 192.168.2.254/24

 

实践要求

  • 内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。

  • 内部网络服务器s1通过DNAT发布服务到互联网。

  • 互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接。

一、准备工作

1、准备四台虚拟机,分别标号

2、 防火墙额外添加两块网卡,自定义网络连接模式

3、 关闭虚拟机的图形管理工具

systemctl stop NetworkManager

4、关闭防火墙

systemctl stop firewalld.service 

 5、分别配置四台虚拟机的IP地址,此处举一个例子(使用的临时分配地址)

ifconfig  ens160  192.168.1.1/24

 6、开启防火墙路由转发功能并验证

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

7、配置内网机和服务器的网关地址

route add -net 0/0 gw 192.168.1.254 dev ens160
route add -net 0/0 gw 192.168.2.254 dev ens160

8、 给服务器安装nginx服务

配置本地仓库源后安装nginx
yum -y install nginx
echo "hello!" > /usr/share/nginx/html/index.html

9、测试各个主机之间的连接情况

  • 测试内网机和防火墙的通联性
[root@localhost network-scripts]# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=0.453 ms
  • 测试服务器和防火墙的通联性
[root@localhost network-scripts]# ping 192.168.2.254
PING 192.168.2.254 (192.168.2.254) 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=0.273 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=0.266 ms
^X^C
  •  测试内网机和服务器的通联性
[root@nei ~]# ping 192.168.2.1
PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
64 bytes from 192.168.2.1: icmp_seq=1 ttl=64 time=18.2 ms
64 bytes from 192.168.2.1: icmp_seq=2 ttl=64 time=5.04 ms
^C
  • 外网机没有网关地址,所以和其他三台主机之间必然不通

二、内部网络中的pc1采用SNAT访问外部互联网,但是无法ping到内部网关。

  •  在防火墙上书写规则
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ens256 -j MASQUERADE 
iptables -A INPUT  -s 192.168.1.1 -d 192.168.1.254 -p icmp --icmp-type 8 -j DROP
  • 验证
##内网机ping外网机
[root@nei ~]# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=63 time=36.6 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=4.72 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=8.38 ms
^C
--- 10.0.0.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2010ms
rtt min/avg/max/mdev = 4.715/16.549/36.550/14.221 ms##内网机ping内部网关
[root@nei ~]# ping 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
^C
--- 192.168.1.254 ping statistics ---
6 packets transmitted, 0 received, 100% packet loss, time 5117ms

三、内部网络服务器s1通过DNAT发布服务到互联网。

  •  在防火墙上书写规则
iptables -t nat -A POSTROUTING  -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1
  •  验证
##外网机访问服务器
[root@wai ~]# curl 10.0.0.100
hello!

四、互联网主机pc2能够访问DMZ区域的服务器,但是不能够进行ping和ssh连接。

  •  在防火墙上书写规则
iptables -A FORWARD  -p tcp -s 10.0.0.1 -d 192.168.2.1  --dport 22 -j DROP
iptables -A FORWARD  -i ens256 -o ens224 -d 192.168.2.0/24 -p icmp --icmp-type 8 -j DROP
  • 验证
##测试ssh远程连接服务器主机
[root@wai ~]# ssh root@10.0.0.100
ssh: connect to host 10.0.0.100 port 22: Connection timed out##测试ping服务器主机
[root@wai ~]# ping 10.0.0.100
PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.
^C
--- 10.0.0.100 ping statistics ---
21 packets transmitted, 0 received, 100% packet loss, time 20470ms

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/83145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

删除远程已经不存在但本地仍然存在的Git分支

1. 获取远程分支列表 首先,确保你获取了远程仓库的最新分支信息: git fetch -p -p 参数会自动清理本地仓库中那些在远程已经被删除的分支的引用。 2. 查看本地分支与远程分支的对比 运行以下命令来查看哪些本地分支没有对应的远程分支: …

GIT(AI回答)

在Git中,git push 命令主要用于将本地分支的提交推送到‌远程仓库‌(如GitHub、GitLab等)。如果你希望将本地分支的改动同步到另一个‌本地分支‌,这不是 git push 的设计目的。以下是正确的替代方法: 方法1&#xff1…

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…

React - 组件通信

组件通信 概念:组件通信就是组件之间数据传递,根据组件嵌套关系不同,有不同的通信方法 父传子 —— 基础实现 实现步骤 父组件传递数据 - 在子组件标签上绑定属性子组件接收数据 - 子组件通过props参数接收数据 声明子组件并使用 //声明子…

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建

目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程.   本…

计算机视觉顶刊《International Journal of Computer Vision》2025年5月前沿热点可视化分析

追踪计算机视觉领域的前沿热点是把握技术发展方向、推动创新落地的关键,分析这些热点,不仅能洞察技术趋势,更能为科研选题和工程实践提供重要参考。本文对计算机视觉顶刊《International Journal of Computer Vision》2025年5月前沿热点进行了…

互联网大厂Java求职面试:云原生与微服务架构的深度探讨

互联网大厂Java求职面试:云原生与微服务架构的深度探讨 第一轮提问 面试官: “郑薪苦,假设我们要设计一个大规模电商平台的微服务架构,你会如何设计其订单服务?” 郑薪苦: “首先,我会采用…

STM32实战:数字音频播放器开发指南

基于STM32的数字音频播放器/效果器是个很棒的项目!这涉及到多个嵌入式开发的关键技术点。下面我为你拆解实现方案和关键学习内容: 系统架构概览 [SD Card] -> [File System (FATFS)] -> [Audio Decoder (WAV/MP3)] -> [DSP Processing (EQ, R…

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…

【Vue】scoped+组件通信+props校验

【scoped作用及原理】 【作用】 默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题 故而可以给组件加上scoped 属性, 令样式只作用于当前组件的标签 作用:防止不同vue组件样式污染 【原理】 给组件加上scoped 属性后…

IDEA 中 Maven Dependencies 出现红色波浪线的原因及解决方法

在使用 IntelliJ IDEA 开发 Java 项目时,尤其是基于 Maven 的项目,开发者可能会遇到 Maven Dependencies 中出现红色波浪线的问题。这种现象通常表示项目依赖未能正确解析或下载,导致代码提示错误、编译失败等问题。本文将详细分析该问题的常…

把二级域名绑定的wordpress网站的指定页面

要将二级域名(如 beijing.wodepress.com)绑定到 WordPress 网站的指定页面(如 wodepress.com/beijing),你需要完成以下步骤: 步骤 1:创建二级域名 登录你的域名控制面板(如 cPanel、阿里云、腾讯云等)。 找到 DNS 管理 或 域名解析 部分。…

FreeRTOS学习01_移植FreeRTOS到STM32(图文详解)

移植FreeRTOS到STM32 1、前言2、获取 STM32 的裸机工程模板3、下载 FreeRTOS V9.0.0 源码4、FreeRTOS文件夹内容简介5、移植FreeRTOS5.1 更改STM32工程模板文件夹名字5.2 提取FreeRTOS最简源码5.3 拷贝 FreeRTOSConfig.h 文件到 user 文件夹5.4 添加 FreeRTOS 源码到工程组文件…

12.找到字符串中所有字母异位词

🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…

基于Springboot+Vue的办公管理系统

角色: 管理员、员工 技术: 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能: 该办公管理系统是一个综合性的企业内部管理平台,旨在提升企业运营效率和员工管理水…

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…

专业文件比对辅助软件

软件介绍 本文介绍一款用于文件内容对比的计算机辅助工具,支持快速识别不同版本文档间的差异内容。 功能与版本特性 这款工具提供无偿使用授权,技术文档显示其开发历程已达近三十年。程序采用独立封装设计,无需安装即可直接运行。 基础操…

【时时三省】(C语言基础)变量的存储方式和生存期

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 动态存储方式与静态存储方式 从变量的作用域(即从空间)的角度来观察,变量可以分为全局变量和局部变量。 还可以从另一个角度,即从变量值存在…

记录:外扩GPIOD访问报警告

rk提供的rfkill-bt.c驱动访问外扩GPIO输出如下警告: [ 4.694993] ------------[ cut here ]------------ [ 4.694994] WARNING: CPU: 7 PID: 582 at drivers/gpio/gpiolib.c:2805 gpiod_get_raw_value0x58/0xd4 [ 4.695003] Modules linked in: [ 4.69…

LangChain面试内容整理-知识点4:工具(Tool)机制与实现

在LangChain中,工具(Tool)是智能体(Agent)、链(Chain)或LLM可以调用的外部函数接口。可以将Tool理解为LLM可以使用的能力或插件:通过调用工具,LLM能够获取额外的信息或执行特定的动作,比如查询数据库、搜索互联网、做数学计算等comet.compinecone.io。工具赋予了LLM交…