项目概览

在本项目中,您将了解如何云服务器自建一个网关服务器,让其他云服务器可以使用网关服务器访问互联网。

网络拓扑如下

bestp linux instance to gateway server 1

准备事项

  • 请先创建一个 vpc 网络。

  • 请创建一个私有网络加入到 vpc 网络,指定 ip 网段为 192.168.0.0/24

  • 请创建两台 vm 云服务器加入到私有网络,指定 ip 地址分别为 192.168.0.2/192.168.0.3

  • 请创建一个内部绑定的弹性 eip 绑定到 192.168.0.2,参考下图。

    bestp linux instance to gateway server 1

目标是把 192.168.0.2 这个云服务器配置成网关服务器

  1. 内部绑定的公网 ip 分配给云服务器,会有两个网卡 eth0 和 eth1,先备份之前的网卡配置。

    cd /etc/sysconfig/network-scripts/
    cp ifcfg-eth0 ifcfg-eth0.bak
    cp ifcfg-eth1 ifcfg-eth1.bak
  2. 请将两个网卡配置成静态 ip 地址,参考截图的配置参数。

    # vi /etc/sysconfig/network-scripts/ifcfg-eth0
    TYPE=Ethernet
    NAME=eth0
    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.0.2
    NETMASK=255.255.255.0
    ONBOOT=yes
    #IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_FAILURE_FATAL=no
    # vi /etc/sysconfig/network-scripts/ifcfg-eth1
    TYPE=Ethernet
    NAME=eth1
    DEVICE=eth1
    BOOTPROTO=static
    IPADDR=139.198.127.6
    NETMASK=139.198.127.1
    ONBOOT=yes
    #IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_FAILURE_FATAL=no
    DNS1=114.114.114.114
    DNS2=1.2.4.8
  3. 重启网络。

    systemctl restart network
  4. 测试网关服务器上网是否正常。

    bestp linux instance to gateway server 2
  5. 开启云服务器的路由功能。

    • 临时生效:

      echo "1" > /proc/sys/net/ipv4/ip_forward
    • 永久生效:

      vim /etc/sysctl.conf
      修改
      net.ipv4.ip_forward = 1
      sysctl -p /etc/sysctl.conf
  6. 禁用 firewalld 服务,并安装 iptables-services。

    systemctl stop firewalld
    systemctl disable firewalld
    yum -y install iptables-services
  7. 配置转发策略。

    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 139.198.127.6
    service iptables save
  8. 配置客户端云服务器的网关及 DNS。

    配置路由。

    • 方法一(推荐)

      通过 VPC 网络 > 管理配置 > 路由推送 > 添加云服务器路由,如图所示。

      bestp linux instance to gateway server 3
    • 方案二

      ip r replace default via 192.168.0.2
      ip r del default via 192.168.0.1
      说明

      这个方案重启会失效。

  9. 配置 DNS 服务,需要与网关服务器一致。

    vim /etc/resolv.conf
    
    cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 192.168.0.2
    nameserver 114.114.114.114
    nameserver 1.2.4.8
  10. 放行云服务器防火墙下行 UDP 53 号端口。

    说明

    私有网络的云服务器绑定了公网 IP 默认会加一层防火墙,需要手动放行一下 DNS 服务的端口,否则无法实现域名解析。

  11. 测试网络连通性。

    bestp linux instance to gateway server 4
    bestp linux instance to gateway server 5

    可以看出转发生效了,网络也是通的。