配置云服务器为网关服务器
更新时间:2024-03-07 19:06:53
PDF
项目概览
在本项目中,您将了解如何云服务器自建一个网关服务器,让其他云服务器可以使用网关服务器访问互联网。
网络拓扑如下
准备事项
-
请先创建一个 vpc 网络。
-
请创建一个私有网络加入到 vpc 网络,指定 ip 网段为
192.168.0.0/24
。 -
请创建两台 vm 云服务器加入到私有网络,指定 ip 地址分别为
192.168.0.2/192.168.0.3
。 -
请创建一个内部绑定的弹性 eip 绑定到
192.168.0.2
,参考下图。
目标是把 192.168.0.2 这个云服务器配置成网关服务器
-
内部绑定的公网 ip 分配给云服务器,会有两个网卡 eth0 和 eth1,先备份之前的网卡配置。
cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-eth0.bak cp ifcfg-eth1 ifcfg-eth1.bak
-
请将两个网卡配置成静态 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
-
重启网络。
systemctl restart network
-
测试网关服务器上网是否正常。
-
开启云服务器的路由功能。
-
临时生效:
echo "1" > /proc/sys/net/ipv4/ip_forward
-
永久生效:
vim /etc/sysctl.conf 修改 net.ipv4.ip_forward = 1 sysctl -p /etc/sysctl.conf
-
-
禁用 firewalld 服务,并安装 iptables-services。
systemctl stop firewalld systemctl disable firewalld yum -y install iptables-services
-
配置转发策略。
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 139.198.127.6 service iptables save
-
配置客户端云服务器的网关及 DNS。
配置路由。
-
方法一(推荐)
通过 VPC网络 > 管理配置 > 路由推送 > 添加云服务器路由,如图所示。
-
方案二
ip r replace default via 192.168.0.2 ip r del default via 192.168.0.1
说明 这个方案重启会失效。
-
-
配置 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
-
放行云服务器防火墙下行 UDP 53 号端口。
说明 私有网络的云服务器绑定了公网IP 默认会加一层防火墙,需要手动放行一下DNS服务的端口,否则无法实现域名解析。
-
测试网络连通性。
可以看出转发生效了,网络也是通的。