使用可上网的服务器作为网关,实现另一台服务器上网

news2024/12/23 14:28:35

文章目录

  • 物理条件
    • 方法一:不使用交换机
    • 方法二:使用交换机
  • 配置步骤
    • 查看网络状态
    • 设置静态IP
    • 将服务器A设置成网关
    • 重新启动各服务器网卡
    • 设置主机名
  • 参考资料

本文的目标是利用一台可以上网的服务器作为网关,使在同一局域网中的所有服务器都可以上网。

物理条件

假设有若干台服务器:A,B,C,D…
其中服务器 A 可以上网

现在的需求是——我想让B,C,D也可以上网,具体来说有两种网线连接的方法。

方法一:不使用交换机

如果不使用交换机,需要用网线将服务器 A 和 B 直接连接起来。由于每台主机的网卡口有限,因此这种方法只适用于没有交换机且服务器个数不多的情况。

方法二:使用交换机

使用交换机就会简单很多,只需要将所有需要上网的服务器通过网线连接在交换机上就好了。

配置步骤

查看网络状态

使用 ifconfig 查看服务器 A 当前的网络设备信息。
Linux ifconfig命令 _ 菜鸟教程.html
在这里插入图片描述

设置静态IP

Ubuntu设置静态IP地址的几种方法

搜到的文章中有两种方式,可以两种方式都试试,(在本人的实操中,一部分服务器已经存在 interfaces 文件,就在此基础上进行修改;另外一部分服务器则是修改 /etc/netplan 文件夹下的文件)

对服务器 A 进行如下操作:
在这里插入图片描述

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述

其实只修改了 address 字段的内容,将其设置成了我想要的静态 IP 地址。

在对服务器 B 进行对应的操作时,发现 /etc/network 文件夹下并没有 interfaces 文件存在。
在这里插入图片描述
因此尝试攻略中的另一个方法,查看 /etc/netplan 文件夹下是否有相关的配置文件,发现果然有!
在这里插入图片描述
(补充一下,服务器 A 的 /etc/netplan 下内容是这样的:
在这里插入图片描述

将服务器 B 的 01-network-manager-all.yaml 中内容修改成如下内容:
在这里插入图片描述
将 addresses 设置成了 [192.168.232.106/24] ,即本机在局域网中的 ip;除此之外将 gateway4 字段设置成了服务器 A 在局域网中的 IP:192.168.232.105。

将服务器A设置成网关

Ubuntu将本机作为局域网内其他PC的网关,使局域网内机器可通过本机上网

echo 1 > /proc/sys/net/ipv4/ip_forward

想要永久生效的话,可以修改 /etc/sysctl.conf 如下:
在这里插入图片描述
就是在最后一行添加了 net.ipv4.ip_forward=1
执行 sysctl -p 马上生效

sudo /sbin/iptables -t nat -A POSTROUTING -s 192.168.232.0/24 -o eno1 -j MASQUERADE 

注意这里的应该写为 192.168.232.0 ,而不是服务器 A 的 IP 192.168.232.105。

这里应该写服务器 A 用于上网的网卡 eno1 而不是连接局域网的网卡 eno2。

配置完成后需要使用

sudo iptables-save

来保存配置,同时也可以看到相应的结果:

在这里插入图片描述
(上面多余的是刚开始写错了。。。)

重新启动各服务器网卡

sudo service networking restart

此后,不出意外的话,两台服务器之间应该就可以通过 IP 相互 ping 通了。
在这里插入图片描述
在这里插入图片描述

设置主机名

我不想记住复杂的 IP 地址,所以想给每个服务器设置一个主机名,也很简单啦,只需要修改各个服务器的 /etc/hosts 文件。
在这里插入图片描述

在这里插入图片描述

分别在两者的 hosts 文件中添加对方的局域网 IP 和主机名就好了。


参考资料

Ubuntu设置静态IP地址的几种方法
ubuntu如何重新启动网卡
Ubuntu将本机作为局域网内其他PC的网关,使局域网内机器可通过本机上网


Ubuntu20.04服务器开启路由转发让局域网内其他电脑通过该服务器连接外网
ubuntu配置iptables

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

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

相关文章

如何安装多个node版本(不使用nvm)

1、选择node安装的路径 例如:D:\Program Files\nodejs 2、下载要安装的对应版本的zip格式的node安装包 例如:下载16.14.2 和 13.14.0 两个版本的zip格式的node安装包,node版本下载地址https://nodejs.org/dist/ 3、安装包解压到对应文件夹…

遥感云大数据在灾害、水体与湿地领域典型

近年来遥感技术得到了突飞猛进的发展,航天、航空、临近空间等多遥感平台不断增加,数据的空间、时间、光谱分辨率不断提高,数据量猛增,遥感数据已经越来越具有大数据特征。遥感大数据的出现为相关研究提供了前所未有的机遇&#xf…

路径规划算法:基于JAYA优化的路径规划算法- 附代码

路径规划算法:基于JAYA优化的路径规划算法- 附代码 文章目录 路径规划算法:基于JAYA优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法JAYA…

深入理解深度学习——正则化(Regularization):对抗训练(Adversarial Training)

分类目录:《自然语言处理从入门到应用》总目录 在许多情况下,神经网络在独立同分布的测试集上进行评估已经达到了人类表现。因此,我们自然要怀疑这些模型在这些任务上是否获得了真正的人类层次的理解。为了探索网络对底层任务的理解层次&…

如何理解并使用 park 与 unpark

tip: 作为程序员一定学习编程之道,一定要对代码的编写有追求,不能实现就完事了。我们应该让自己写的代码更加优雅,即使这会费时费力。 文章目录 一、基本介绍二、使用例子三、使用注意事项 一、基本介绍 park和unpark是Java中的两个线程同步…

高性能软件负载OpenResty介绍和安装

目录 1 OpenResty介绍1.1 Nginx 的流程定义1.1.1 流程详解1.1.2 OpenResty处理流程 2 Openresty安装2.1 yum安装2.1.1 添加OpenResty仓库2.1.2 安装OpenResty 2.2 源代码编译安装2.2.1 安装编译环境2.2.2下载最新版源码2.2.3下载缓存插件2.2.4 编译OpenResty2.2.5 安装OpenRest…

《设计模式》之状态模式

文章目录 1、定义2、动机3、类结构4、优点5、总结6、代码实现(C) 1、定义 允许一个对象在其内部改变时改变它的行为,从而使对象看起来改变了其行为。 2、动机 某些对象的状态如果改变,其行为也会随之而发生改变。比如文档的只读状态和读写状态的行为可…

【MySQL】- 04 MVCC实现原理

MVCC的实现原理 隐式字段undo日志Read View(读视图)整体流程例子 MVCC的目的就是多版本并发控制,在数据库中的实现,就是为了解决读写冲突,它的实现原理主要是依赖记录中的 3个隐式字段,undo日志 ,Read View 来实现的。…

Linux笔记-so.1和so的区别(三方程序链接Qt的so.1和so)

如下面这个程序使用ldd查看下: 从中可以看到一些so.6和so.1这些,这些其实是版本号,比如这个:/lib64/libstdc.so.6 可见so.版本号其实是个软连接,最终会连接到/lib64/libstdc.so.6.0.19 而CQt框架写的lib如下pro文件会生…

磁盘配额与进阶文件系统管理(一)

磁盘配额Quota 用途 针对www server,例如 每个人网页空间的容量限制;针对mail server,例如 每个人的邮件空间限制;针对file server,例如 每个人最大可用的网络硬盘空间;限制某一群组所能使用的最大磁盘空…

使用zerotier进行内网穿透,外网访问其它电脑上的虚拟机

目标 使用一台电脑,使用vmware创建三台虚拟机,处于同一网段。另一台电脑外网进行访问其虚拟机 用途 学习K8s集群,由于个人财力有限,云服务器买不了几台,而且不同厂家的云服务器无法做到内网互通 完成后缺陷 使用z…

nginx系统优化和内核优化

nginx系统优化 一:隐藏nginx版本号 方法一:修改配置文件 vim /usr/local/nginx/conf/nginx.confnginx -t systemctl restart nginx curl -I http://192.168.52.108方法二:修改源代码 vim /opt/nginx-1.24.0/src/core/nginx.h ##配置文件里…

逆向汇编与反汇编——汇编基础快速入门

一、常用32位寄存器介绍 不同位数的寄存器的名称: eax:累加寄存器。通常用于算数运算,将结果保留在eax当中,当然也可以用于其他用途,比如一般把返回值通过eax传递出去。 ebx:基址寄存器 。有点类似于ebp…

Go语言日志库logrus

Go语言日志库logrus 1、介绍 logrus logrus是目前Github上star数量最多的日志包,功能强大、性能高效、高度灵活,还提供了自定义插件的功能。很 多优秀的开源项目,例如:docker、prometheus等都使用了logrus。logrus除了具有日志…

VMware nat模式配置

使用nat模式,需要配置ip才能做到虚拟机与主机、外网正常通信 步骤 1 选择虚拟机设置,将网络连接改为nat模式 2 查看主机vmware network adpter vmnet8 打开控制面板。选择网络连接,右击vmnet8,打开属性 选择ip4,双击…

kubesphere插件,应用商店,应用仓库

应用商店 参考 步骤 以platform-admin角色的账号(admin)登录kubesphere点击右上角 “平台管理”点击“集群管理”点击 “自定义资源 CRD”搜索 clusterconfiguration点击 ClusterConfiguration点击 ks-installer 右侧的三个点,点击“编辑文件”在YAML 文件中&…

Linux进程间通信【匿名管道】

✨个人主页: 北 海 🎉所属专栏: Linux学习之旅 🎃操作环境: CentOS 7.6 阿里云远程服务器 文章目录 🌇前言🏙️正文1、进程间通信相关概念1.1、目的1.2、发展1.3、分类 2、什么是管道&#xff1…

Redi事务,数据持久化

4.其他数据功能 4.1pubsub发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下面示例展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— c…

旧改周报--深圳7大项目获进展:中海、星河等主导

2023年第22周,深圳市共发布拆除重建类权利人核实公示1项,规划公告1项,规划修改(草案)公示2项,规划(修改)公告1项,实施主体公示1项,建设用地批复1项&#xff0…

win7安装visual studio 2015出现安装包丢失或损坏

winr 输入 certmgr.msc 查看有没有选中的两个证书,如果没有需要从其他电脑导入,然后直接点击安装界面重试,即可继续安装