首页 综合布线 外网访问内网服务器教程|外网访问内网服务器需要做什么配置

外网访问内网服务器教程|外网访问内网服务器需要做什么配置

本文主要介绍外网访问内网服务器教程|外网访问内网服务器需要做什么配置,并提供一些实用的技巧和方法。其中,主要从以下几个方面进行详细阐述,接下来就来看一下安防网小编为您分享。

外网访问内网服务器教程

在阿里云、腾讯云等云平台购买多台服务器时,出于成本考虑,不会为每台服务器配置公有IP。这就带来了一个问题,没有公网IP的服务器无法访问外网。本文介绍了一种可选方案,即让未绑定公网IP的服务器接入外网,前提是所购买的服务器中至少有一台绑定了公网IP。

下面是基本原理和步骤。对网络比较了解的朋友可能一眼就知道是怎么回事了。详细的操作过程后面会介绍。

外网访问内网服务器教程|外网访问内网服务器需要做什么配置

基本原理是用一个和公网IP绑定的服务器作为代理转发网络。

基本步骤假设有两台服务器:

  • 与公共IP绑定的Master可以访问外部网络。
  • 未绑定公共IP的服务器worker1无法访问外部网络。
  • 操作步骤如下:

  • 建立从worker1到master的隧道。
  • 修改worker1的路由表,使用master作为路由
  • 在主服务器上,使用iptables根据worker1的请求进行SNAT转换。
  • 本文详细介绍了云平台采购节点的两个例子:

  • 主:内部网IP 192.168.0.197
  • 工作节点:内部网IP 192.168.0.196
  • 主节点绑定了公网IP,可以访问外网,工作节点没有绑定公网IP,不能访问外网。

    通过ip route show命令查看两台主机的路由表,有如下记录:

    默认通过192.168.0.253 dev eth0

    也就是说,两台主机都默认使用192.168.0.253作为转发请求的路由,因此我们可以大致猜测网络拓扑如下:

    当然,真实的网络拓扑会比较复杂。这里,只对两台购买的主机进行了一个简化。

    我们现在要做的是,worker1节点可以通过主节点作为代理访问外网。

    步骤1:建立从主节点到worker1节点的隧道。因为两台机器在一个内网,可以互相通信,所以我们可以通过默认的网卡在两台主机之间建立一个隧道。

    在主节点上执行以下命令

    #创建一个ipip类型的虚拟网卡# IP tun add[虚拟网卡名称]mode ipip remote[对等IP地址]local[本地IP地址]IP tunnel addworker 1 _ tunnel mode IP remote 192 . 168 . 0 . 196 local 192 . 168 . 0 . 197#启动新创建的虚拟网卡IP link set worker 1 _ tunnel up#为创建的虚拟网卡绑定IP地址 Peer[对端绑定的IP地址]Dev[本地机器绑定的虚拟网卡的名称]IP Add Add 192 . 168 . 3 . 100 Peer 192 . 168 . 3 . 101 Dev Worker 1 _

    这样,可以执行ip addr show命令来查看下面的附加网卡:

    可以看到网卡绑定了IP: 192.168.3.100。

    类似地,在worker1节点上执行以下命令

    ip隧道添加master_tunl模式ipip remote 192 . 168 . 0 . 197 local 192 . 168 . 0 . 196IP链路设置master _ tunl upIP add add 192 . 168 . 3 . 101 peer 192 . 168 . 3 . 100 dev master _ tunl

    执行ip addr show命令,查看以下网卡是否已添加到worker1节点:

    可以看到网卡绑定了IP: 192.168.3.101。

    现在,让我们验证隧道是否成功建立,并且在主节点上执行ping 192.168.3.101。

    在同一worker1节点上Ping 192.168.3.100。

    如您所见,两台主机已经可以通过设置的IP相互访问,因此两台主机之间的隧道成功建立。

    步骤2:修改worker1节点的路由表,使主节点成为worker1节点默认路由的网关。我们可以首先执行ip route show来检查当前的默认路由。

    此路由显示worker1节点上的默认路由使用192.168.0.253作为默认网关。

    首先,执行ip route del default删除默认网关。

    然后,通过192.168.3.100 dev master _ tunnel设置执行IP route add default,将主节点用作默认网关。注意,创建的master _ tunnel虚拟网卡在这里被用作网络设备。

    步骤3:在主节点上,通过iptables工具,对来自我们创建的隧道的请求进行Snat转换。因为来自worker1的请求的源地址是192.168.3.101,这是一个内部网络地址,所以来自外部网络的请求在没有NAT转换的情况下无法到达worker1节点。

    我们执行以下命令来设置nat

    #我们设置的隧道段是192.168.3.0/24。下面的设置会将源地址在192.168.3.0/24段的请求发送到snat中,#源地址会伪装成出口网卡的IP地址iptables-t NAT-a posting-s192..

    以上步骤全部完成。我们来验证一下。

    在worker1节点ping Baidu.com。

    您可以看到worker1节点可以访问外部网络。

    问题:按照上述步骤操作后,不能访问外网吗?

    检查主节点是否开启了路由转发功能。该方案要求转发节点开启转发功能。

    打开模式:

  • 您需要修改sysctl.conf文件并配置net.ipv4.ip_forward = 1。
  • 执行sysctl -p使其生效。
  • 关于外网访问内网服务器教程的内容到此结束,希望对大家有所帮助。安防网往后会继续推荐外网访问内网服务器教程相关内容。

    热门文章