当前位置: 首页 > news >正文

[ linux网络 ] 网关服务器搭建,综合应用SNAT、DNAT转换,dhcp分配、dns分离解析,nfs网络共享以及ssh免密登录

实验准备工作:

网关服务器安装:dhcp  bind (yum install -y dhcp bind bind-utlis)

server1安装:httpd   (yum install -y httpd)

没有网络就搭建本地yum仓库或者配置网卡使其能够上网。

( 1)网关服务器:ens36:12.0.0.254/24,ens33:192.168.80.11/24;Server1:192.168.80.7/24;PC1和server2:自动获取IP;交换机无需配置。要求能够使用Xshell等远程工具登录Server1和网关服务器。

首先,原本虚拟机是192.168.66.0网段,严格按照题目修改,先修改真机的 VM8 和 VM1 的环境设置

 然后,VMWARE软件的虚拟编辑器修改,统一网段

网关服务器处理:

第一步:2张网卡设置,网关服务器的网关就是自己,所以可以不用设置,但是DNS服务器指向自己,这个后面题目有要求,所以需要注意添加;

[root@wg ~]#cd /etc/sysconfig/network-scripts[root@wg network-scripts]#vim ifcfg-ens33TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.80.11
NETMASK=255.255.255.0
DNS1=192.168.80.11
#如果未安装实验要用的软件可以尝试搭建本地yum仓库。[root@wg network-scripts]#cp ifcfg-ens33 ifcfg-ens36
[root@wg network-scripts]#vim ifcfg-ens36TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=12.0.0.254
NETMASK=255.255.255.0
DNS1=12.0.0.254[root@wg network-scripts]#systemctl restart network
[root@wg network-scripts]#ip a s ens33
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:fe:04:29 brd ff:ff:ff:ff:ff:ffinet 192.168.80.11/24 brd 192.168.80.255 scope global ens33valid_lft forever preferred_lft forever[root@wg network-scripts]#ip a s ens36
5: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 00:0c:29:fe:04:33 brd ff:ff:ff:ff:ff:ffinet 12.0.0.254/24 brd 12.0.0.255 scope global ens36valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fefe:433/64 scope link valid_lft forever preferred_lft forever[root@wg network-scripts]#cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 192.168.80.11
nameserver 12.0.0.254

 server1:网卡配置

[root@server1 ~]#cd /etc/sysconfig/network-scripts[root@server1 network-scripts]#vim ifcfg-ens33TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.80.7
NETMASK=255.255.255.0
GATEWAY=192.168.80.11
DNS1=192.168.80.11[root@server1 network-scripts]#systemctl restart network

 server2:网卡配置

[root@server2 ~]#cd /etc/sysconfig/network-scripts/
[root@server2 network-scripts]#vim ifcfg-ens33TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes[root@server2 network-scripts]#systemctl restart network

server2虚拟机网卡设置NAT模式

 pc1:网卡配置

[root@pc1 ~]#cd /etc/sysconfig/network-scripts[root@pc1 network-scripts]#vim ifcfg-ens33TYPE=Ethernet
BOOTPROTO=dhcp
NAME=ens33
DEVICE=ens33
ONBOOT=yes[root@pc1 network-scripts]#systemctl restart network

 pc1虚拟机网卡设置 仅主机模式

( 2 )网关服务器提供DHCP服务给PC1和server2分配对应网段的IP地址和DNS服务器地址(注意后面题目的需求)。

网关服务器搭建DHCP服务器

[root@wg ~]#rpm -qc dhcp
/etc/dhcp/dhcpd.conf
##找到原配置文件[root@wg ~]#cat /etc/dhcp/dhcpd.conf
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
##复制配置案例覆盖原本的配置文件[root@wg ~]#cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
##添加dhcp的分配规则[root@wg ~]#vim /etc/dhcp/dhcpd.confsubnet 192.168.80.0 netmask 255.255.255.0 {range 192.168.80.50 192.168.80.60;option routers 192.168.80.11;
}subnet 12.0.0.0 netmask 255.255.255.0 {range 12.0.0.50 12.0.0.60;option routers 12.0.0.254;
}[root@wg ~]#systemctl start dhcpd

查看server1:192.168.80.0段的ip地址

查看pc1:12.0.0.0段的ip地址

( 3 )server1服务器上创建密钥对并上传给网关服务器,并使server1的root用户可以使用root用户免交互登录网关服务器。
##生成密钥
[root@server1 ~]#ssh-keygen
##将生成的公钥传给网关服务器
[root@server1 ~]#ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.80.11
#输入yes回车后再输入网关服务器的密码即可。##测试完成免密登录
[root@server1 ~]#ssh 192.168.80.11
Last login: Sat Feb 17 12:11:51 2024 from 192.168.80.1
[root@wg ~]#exit
登出
Connection to 192.168.80.11 closed.

( 4 )server1服务器安装和启动httpd服务搭建Web网站,首页内容自定,但需要把server2的/share目录中的首页文件index.html,通过NFS挂载到server1的/var/www/html目录下使用。

server2配置:

[root@server2 ~]#mkdir /share
[root@server2 ~]#cd /share
[root@server2 share]#vim index.html
#输入任意内容即可。[root@server2 share]#cat index.html 
akjbjkb[root@server2 share]#vim /etc/exports       #书写共享规则/share *[root@server2 share]#systemctl start nfs    #开启文件共享,如若没有需要安装nfs-utils

server1配置:

[root@server1 ~]#showmount -e 192.168.80.50
Export list for 192.168.80.50:
/share *注意需要安装httpd
[root@server1 ~]#rpm -q httpd
httpd-2.4.6-99.el7.centos.1.x86_64[root@server1 ~]#mount 192.168.80.50:/share /var/www/html/
#把共享文件挂载到/var/www/html/目录下。[root@server1 ~]#systemctl start httpd
[root@server1 ~]#curl 192.168.80.7     #验证结果
akjbjkb

( 5 )网关服务器:搭建DNS分离,局域网解析www.benet.com 为server1的IP地址,外网解析为12.0.0.254,并且实现SNAT和DNAT 转换成ens36接口地址,PC1可以使用域名www.benet.com解析12.0.0.254直接访问Web网站。

在搭建DNS分离之前要先安装两样   bing 主包 和 bind 工具包

bind是DNS服务器软件

yum install bind bind-utlis -y

安装完软件之后 , 要能 找到

1.配置文件的位置   使用右边命令查找    rpm -qc  安装包的名字

网关服务器DNS配置:

修改主配置文件

vim /etc/named.conf

修改域名配置文件

vim /etc/named.rfc1912.zones

view "lei" {
match-clients { 192.168.80.0/24; };
zone "benet.com" IN {type master;file "benet.com.lei";
};
zone "." IN {type hint;file "named.ca";
};
};view "wai" {
match-clients { any; };
zone "benet.com" IN {type master;file "benet.com.wai";
};
zone "." IN {type hint;file "named.ca";
};
};

注意!除了 // 后面和上图配置保留,其它都的删除。

编辑数据库文件

命令:

[root@wg network-scripts]#cd /var/named/
[root@wg named]#cp -a named.localhost benet.com.lei
#保留权限复制named.localhost 为 benet.com.lan到当前目录
#这个 数据库文件 要跟 域名配置文件 中 file 后面的文件名相同。
[root@wg named]#cp -a named.localhost benet.com.wai
#保留权限复制named.localhost 为 benet.com.wan到当前目录

[root@wg named]#vim benet.com.lei

[root@wg named]#vim benet.com.wai

最后启动named服务,进行检验:

内网解析结果:

外网解析结果:

下面将实现SNAT和DNAT 转换成ens36接口地址,PC1可以使用域名www.benet.com解析12.0.0.254直接访问Web网站。

我们先看看未配置的情况:

内网sever2无法ping通外网的pc1

内网server2可以server1的80端口

外网的pc1无法访问内网。需要内网server1做端口映射到网关和DNS服务器上

 

网关服务器 添加 iptables 规则且 开启路由转发。

##SNAT策略
[root@wg named]#iptables -t nat -A POSTROUTING -o ens36 -s 192.168.80.0/24 -j SNAT --to 12.0.0.254
##DNAT策略
[root@wg named]#iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.80.7[root@wg /var/named]#sysctl -a |grep “ip_forward"
net.ipv4.ip_forward = 0
##添加永久开启路由转发功能
[root@wg /var/named]#vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
[root@wg /var/named]#sysctl -p
net.ipv4.ip_forward = 1

SNAT策略详解:

内网访问外网时源ip转换为网关服务器的公网ip

DNAT策略详解:

外网客户端访问 网关服务器的公网ip 的 80 端口 时跳转至 内网 server1  的80 端口

验证效果:

实现内网可访问外网

pc1 可以 访问 server1 的 80 端口。

相关文章:

[ linux网络 ] 网关服务器搭建,综合应用SNAT、DNAT转换,dhcp分配、dns分离解析,nfs网络共享以及ssh免密登录

实验准备工作&#xff1a; 网关服务器安装&#xff1a;dhcp bind &#xff08;yum install -y dhcp bind bind-utlis&#xff09; server1安装&#xff1a;httpd (yum install -y httpd) 没有网络就搭建本地yum仓库或者配置网卡使其能够上网。 ( 1&#xff09;网关服务器…...

MySQL全量备份

一、实验素材 1.创建student和score表 (1) student表 create database school; use schoolCREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );(…...

【Linux系统化学习】动静态库 | 软硬链接

目录 硬链接和软链接 硬链接 软链接 动态库和静态库 静态库 静态库的生成 静态库的使用 将库打包和使用 动态库 动态库的生成 动态库的使用 库搜索路径 硬链接和软链接 硬链接 上篇文章我们说到真正找到磁盘上的文件并不是文件名&#xff0c;而是inode。其实在…...

linux-firewalld防火墙端口转发

目的:通过统一地址实现对外同一地址暴露 1.系统配置文件开启 ipv4 端口转发 echo "net.ipv4.ip_forward 1" >> /etc/sysctl.confsysctl -p 2.查看防火墙配置端口转发之前的状态 firewall-cmd --statefirewall-cmd --list-all 3.开启 IP 伪装 firewall-cm…...

adobe软件提示This non-genuine Adobe app will be disabled soon【软件版本】

因为电脑上级路由器装了小飞机&#xff0c;导致本机电脑ps等adobe的系列软件出现了 This non-genuine Adobe app will be disabled soon&#xff0c;烦人的狠&#xff0c;之前有写过一篇通过更改host的教程&#xff0c;现在已经失效了&#xff0c;今天为大家分享一个用软件来屏…...

python coding with ChatGPT 打卡第20天| 二叉搜索树:搜索、验证、最小绝对差、众数

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树&#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树&#xff1a;翻转…...

Stable Diffusion——基础模型、VAE、LORA、Embedding各个模型的介绍与使用方法

前言 Stable Diffusion&#xff08;稳定扩散&#xff09;是一种生成模型&#xff0c;基于扩散过程来生成高质量的图像。它通过一个渐进过程&#xff0c;从一个简单的噪声开始&#xff0c;逐步转变成目标图像&#xff0c;生成高保真度的图像。这个模型的基础版本是基于扩散过程…...

Python自动化部署与配置管理:Ansible与Docker

Ansible 和 Docker 是两种常用于自动化部署和配置管理的工具。Ansible 是一个基于 Python 的自动化运维工具&#xff0c;可以配置管理、应用部署、任务自动化等。而 Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&…...

《摔跤吧爸爸》19岁女星突患皮肌炎离世

从确诊到离世仅10天……罕见病“皮肌炎”&#xff01; 曾凭借在知名电影《摔跤吧&#xff01;爸爸》中饰演童年时期“小芭比塔”一角而广受喜爱的年轻演员苏哈尼巴特纳格尔不幸离世&#xff0c;年仅19岁。她的突然逝世引发了全球关注&#xff0c;据苏哈妮的家人表示&#xff0…...

用结构体数组,完成宠物信息登记管理。

管理宠物的名字&#xff0c;品种&#xff0c;年龄。 实现功能如下: 1.插入宠物信息 2.遍历宠物信息 #include <stdio.h> #define N 100 typedef struct chongwu { char name[20]; char pingz[10]; int age; }cw; void intset_cw(cw *ptr,int *pnum) { printf("请…...

频率主义线性回归和贝叶斯线性回归

整体概述 频率主义&#xff08;Frequentist&#xff09;线性回归和贝叶斯&#xff08;Bayesian&#xff09;线性回归是统计学中用于数据分析和预测的两种主要方法&#xff0c;特别是在建模关于因变量和自变量之间线性关系的上下文中。尽管两种方法都用于线性回归分析&#xff…...

【感知算法】Dempster-Shafer理论(下)

尝试DS理论应用到自动驾驶地图众包更新。 地图特征变化判断 a mass function is applied to quantify the evidence of the existence. existence state: existenct、non-existent、tenative、conflict ∃ ∄ Ω ϕ \exist \\ \not\exist \\ \Omega \\ \phi ∃∃Ωϕ ma…...

通过conda安装cudatoolikit和cudnn

通过conda安装cudatoolikit和cudnn 安装cudatoolkit安装cudnn安装cudatoolkit-dev 安装cudatoolkit conda install cudatoolkit11.3 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ 安装cudnn conda install cudnn8.5 -c https://mirrors.tuna.tsinghua.edu.…...

vue中使用jsx语法

请注意&#xff0c;在 Vue 中使用 JSX 时&#xff0c;你仍然需要通过 h 函数&#xff08;通常是一个别名&#xff0c;对应于 createElement 函数&#xff09;来创建虚拟 DOM 元素。在下面的例子中&#xff0c;h 函数作为 render 函数的参数传入&#xff0c;但在 JSX 语法中你通…...

我的NPI项目之Android USB 系列(一) - 遥望和USB的相识

和USB应该是老朋友了&#xff0c;从2011年接触Android开发开始&#xff0c;就天天和USB打交道了。那时候还有不 对称扁头的usb/方口的usb&#xff0c;直到如今使用广泛的防反插USB3.0 type-C。 但是&#xff0c;一直有一个不是很清楚的问题萦绕在心头&#xff0c;那就是。先有…...

K8s进阶之路-命名空间级-服务发现 :

服务发现&#xff1a; Service&#xff08;东西流量&#xff09;&#xff1a;集群内网络通信、负载均衡&#xff08;四层负载&#xff09;内部跨节点&#xff0c;节点与节点之间的通信&#xff0c;以及pod与pod之间的通信&#xff0c;用Service暴露端口即可实现 Ingress&#…...

智慧公厕管理系统:让城市智慧驿站更加智慧舒适

智慧公厕管理系统是城市智慧驿站中不可或缺的一部分&#xff0c;它通过全方位的信息化解决方案&#xff0c;为公共厕所的使用、运营和管理提供了一种智能化的方式。作为城市智慧驿站的重要组成部分&#xff0c;智慧公厕管理系统发挥着重要的作用&#xff0c;为城市社会民生提供…...

图形渲染基础学习

原文链接&#xff1a;游戏开发入门&#xff08;三&#xff09;图形渲染_如果一个面只有三个像素进行渲染可以理解为是定点渲染吗?-CSDN博客 游戏开发入门&#xff08;三&#xff09;图形渲染笔记&#xff1a; 渲染一般分为离线渲染与实时渲染&#xff0c;游戏中我们用的都是…...

每日学习总结20240219

每日总结 20240219 1.文件类型.csv CSV文件是一种以逗号分隔值&#xff08;Comma-Separated Values&#xff09;为标记的文本文件&#xff0c;它可以用来存储表格数据。每一行表示一条记录&#xff0c;而每一条记录中的字段则使用逗号或其他特定的分隔符进行分隔。 常用场景…...

K8s进阶之路-安装部署K8s

参考&#xff1a;&#xff08;部署过程参考的下面红色字体文档链接就可以&#xff0c;步骤很详细&#xff0c;重点部分在下面做了标注&#xff09; 安装部署K8S集群文档&#xff1a; 使用kubeadm方式搭建K8S集群 GitBook 本机&#xff1a; master&#xff1a;10.0.0.13 maste…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

【Java_EE】Spring MVC

目录 Spring Web MVC ​编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 ​编辑参数重命名 RequestParam ​编辑​编辑传递集合 RequestParam 传递JSON数据 ​编辑RequestBody ​…...

Java多线程实现之Thread类深度解析

Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

Linux离线(zip方式)安装docker

目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1&#xff1a;修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本&#xff1a;CentOS 7 64位 内核版本&#xff1a;3.10.0 相关命令&#xff1a; uname -rcat /etc/os-rele…...