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

这篇具有很好参考价值的文章主要介绍了使用可上网的服务器作为网关,实现另一台服务器上网。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

物理条件

假设有若干台服务器: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 和主机名就好了。

将一台CentOS的网关设置为服务器A

先查看一下目前的网络信息。

ifconfig

使用可上网的服务器作为网关,实现另一台服务器上网
使用 ifconfig 找到该服务器接入局域网的网卡是 em4。

在路径 /etc/sysconfig/network-scripts 下可以找到相关的配置文件。

cd /etc/sysconfig/network-scripts
ll

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

修改文件 ifcfg-em4 的内容,将 GATEWAY 字段修改为 局域网中网关的 IP。
使用可上网的服务器作为网关,实现另一台服务器上网
保存后,使用

service network restart

重启网络
使用可上网的服务器作为网关,实现另一台服务器上网
尽管从上图信息看,好像失败了,但是——
ping 了一下百度发现可以 ping 通,就算了搞定了!
使用可上网的服务器作为网关,实现另一台服务器上网

补充

ubuntu 域名解析暂时失败

Ubuntu通过修改配置文件进行网络配置及ubuntu解决resolv.conf被重写问题和NetworkManager的关系

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

sudo vi /etc/resolv.conf

来修改 DNS 配置文件,添加 nameserver 8.8.8.8
注意这个修改这个配置文件后就可以 ping www.baidu.com 了,如果使用 service networking restart 来重启网络配置的话会导致这个配置文件被重写。


参考资料

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


Ubuntu20.04服务器开启路由转发让局域网内其他电脑通过该服务器连接外网
ubuntu配置iptables文章来源地址https://www.toymoban.com/news/detail-479266.html

到了这里,关于使用可上网的服务器作为网关,实现另一台服务器上网的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OPENWRT 使用nginx作为web服务器

    在op上大家使用nginx作为web服务器,主要是为了其强大的反向代理功能,但op上的nginx官方做了一定的修改,配置上稍显复杂,几篇文章也是比较老的,配置也是一头雾水,作业都不好抄,索性自己查了资料学了些nginx的内容,实现了如下的功能: ####默认你已经完成 域名申请,

    2024年02月04日
    浏览(36)
  • 具有公网IP的服务器作为代理服务器,并使用Nginx将内网服务器反向代理

    在代理服务器上安装Nginx。如果您正在使用Linux操作系统,则可以使用包管理器来安装Nginx。例如,如果您使用的是Ubuntu,可以使用以下命令安装: 配置Nginx以将HTTP和HTTPS请求转发到内部服务器。打开Nginx的主配置文件/etc/nginx/nginx.conf,并在http块中添加以下代码: 注意: 将

    2024年01月25日
    浏览(48)
  • 为了实现上网自由,我做了一个多功能串口服务器

    项目作者:小华的物联网嵌入式之旅 介绍:从事电气自动化行业,多次获得物联网设计竞赛,爱好嵌入式设计开发,物联网开发。 设计方案思路的由来,是因为我们现在的开发板基本需要通过串口与WIFI模组或以太网模组连接以实现联网功能,如果多个开发板就要配多个模组

    2024年02月12日
    浏览(37)
  • ESP32作为服务器,使用网页控制LED小灯

    项目描述 ESP32-S开发板加入局域网,使用platformIO编写好ESP32的代码后,编译下载到ESP32中,访问ESP32的IP地址,使用网页控制连接着的LED小灯 项目准备: ESP32-S开发板 一根数据线 电脑 LED小灯 开发环境:vscode + PlatformIO 原理剖析 这个ESP32作为服务器,浏览器作为客户端,这是一个简

    2023年04月26日
    浏览(51)
  • 使用ssh隧道连接远程服务器本地浏览器上网

    1,终端输入命令 ssh -N -D 127.0.0.1:8080 remote_server_name@remote_server_ip_address remote_server_name 参数是远程服务器的用户名 remote_server_ip_address 参数是远程服务器的IP地址 -N 参数表示只建立 SSH 连接,而不启动远程 shell。通常用于只想建立端口转发或隧道的情况下,以避免不必要的远程

    2024年02月13日
    浏览(48)
  • HomeAssistant快速使用教程二:安装mqtt,作为消息服务器

    因为要接入很多DIY的硬件,因为语言,接口的不同,所以使用MQTT协议进行它们之间的通信。 在这里使用emqx的MQTT,因为他们还有一个配套前端,比较好用。 这里放上官方github连接:emqx官网连接 官方文档支持中文,可以自己查阅,进行更加灵活的配置安装(源码安装),因为这

    2024年02月11日
    浏览(47)
  • 【开发日记】换掉Nginx,使用HAProxy作为反向代理服务器

    HAProxy,全称为 \\\"High Availability Proxy\\\",是一款开源的、高性能的负载均衡器和代理服务器。主要用于改善应用程序的可用性、可靠性和性能。 与大众熟知的Nginx相比各有优缺点,如果你需要的是一个Web服务器,还是首选Nginx,虽然HAProxy也能实现相同效果,但却需要通过十分繁琐

    2024年01月25日
    浏览(58)
  • 家用电脑如何才能作为公网服务器使用?底层原理是什么?

    想要将家用电脑用作公网服务器,需要进行一系列的操作和设置,包括: 1.申请公网IP地址。公网IP地址是唯一标识一个设备在互联网上的地址,需要向网络服务提供商申请。 2.配置路由器。将家用电脑连接到路由器,并在路由器上设置端口映射,将来自公网的请求转发到家用

    2024年02月11日
    浏览(40)
  • 使用Microsoft SQL Server Managemant Studio从服务器上面复制数据库到另一台计算机上(2)

    一、配置SQL server 2019 配置管理器 1)进入该界面后,点击SQL Server服务,启动SQL Server代理为运行状态。 2) 点击SQL Server网络配置,启用其下面的TCP/IP协议。 3)将IP地址及端口正确填写,选择已启用。  4)注意将目标服务器和当下主机均按照上述操作流程进行操作。操作不当

    2024年02月08日
    浏览(78)
  • 如何将服务器数据迁移到另一台服务器?

    将服务器数据迁移到另一台服务器通常涉及以下几个步骤: 1.备份数据: 在进行数据迁移之前,首先需要备份服务器上的数据。这包括网站文件、数据库、配置文件等。可以使用各种备份工具和方法,如rsync、scp、FTP、数据库备份工具等。 2.目标服务器准备: 准备目标服务器

    2024年04月09日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包