配置云服务器为网关服务器
项目概览
在本项目中,您将了解如何云服务器自建一个网关服务器,让其他云服务器可以使用网关服务器访问互联网。
网络拓扑如下
准备事项
- 请先创建一个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这个云服务器配置成网关服务器
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.测试网关服务器上网是否正常
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网络—管理配置—路由推送—添加云服务器路由。
方案二
ip r replace default via 192.168.0.2
ip r del default via 192.168.0.1
这个方案重启会失效 可以添加到/etc/rc.local并赋予执行权限(此步骤略)
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.测试网络连通性
可以看出转发生效了,网络也是通的