零. 前言
本文主要记述了安装三台服务器和设置三台服务器网络及子网的过程,内容主要侧重于后者。
一. 服务器安装
主要参考 http://blog.csdn.net/u010442136/article/details/52032260;本文安装的系统是ubuntu server 16.04;文章中使用的分区方式是手动,本文采用了 "use entire disk and set up LVM" 。
二. 网络配置
1,目标
如下是我们目前的物理设备情况
先对图示进行如下解释:
1)图中左边的三个机箱表示服务器,右边的机箱表示交换机,两种机箱上的插孔表示网线接口,图中的黑线表示网线
2)标有外网的网线表示连接的是外部网络(线上的IP是外部交换机分配的静态IP),而其他的网线连接的是内部网络
3)左边三个机箱的右边都有红色的字体,表示主机名
我们需要达到的目标是:
1)设置workflow-1公有网络,使其可上网;
2)设置内部私有网络,使workflow-1,workflow-2,workflow-3可以相互访问(使用ssh,可以相互ping通);
3)设置IP转发,使workflow-2和workflow-3也可以访问外网;
2,策略
如下是我们的连接图
连接图说明:
1)workflow-1作为与外网交互的主机,其外网IP为222.200.180.59; 同时连接分配一个内网IP192.168.1.1,并将其作为内网网关
2)workflow-2分配内网IP 192.168.1.2
3)workflow-3分配内网IP 192.168.1.3
4)三者之间通过右边的交换机进行通信
5)为了实现内网的workflow-2和workflow-3可以访问外网,还需要设置workflow-1的IP转发功能
3,workflow-1配置
1)配置静态IP和路由
首先查看全部的网口
命令行 : ifconfig -a
本机的网络接口有四个,从左到右分别为eno1,eno2,eno3,eno4,不同机子不一样;看连接图,我们需要将eno2连接外网,eno1连接内网;
连接完物理图后,进行如下配置,命令如下
sudo vi /etc/network/interfaces
根据要求填入如下内容(中文部分是解释,不需要进入文件中)
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
# This is an autoconfigured IPv6 interface
auto eno2 # 开启eno2接口,对外网
#iface eno1 inet6 auto
iface eno2 inet static # 使用静态IP
address 222.200.180.59 # 设置静态IP
netmask 255.255.255.0 # 设置掩码
gateway 222.200.180.254 # 设置网关
dns-nameservers 10.8.8.8 # 设置DNS
auto eno1 # 开启eno1接口,对内网
iface eno1 inet static # 使用静态IP
address 192.168.1.1 # 设置静态IP
netmask 255.255.255.0 # 设置掩码
network 192.168.1.0 # 设置网络号
broadcast 192.168.1.255 # 设置广播地址
dns-nameservers 10.8.8.8 # 设置DNS
重启网络
sudo /etc/init.d/networking restart # 如果成功的话,会反馈成功
到这里应该就可以ping通外网了
ping www.baidu.com
但是我们需要让内网也可以访问外网,我们首先需要启动IP转发
sudo vi /etc/sysctrl.conf
取消下面一行的注释:
net.ipv4.ip_forward=1
接下来我们需要设置 iptables (这个东西需要安装,安装看下面补充)
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eno2 -j MASQUERADE
如果上面的命令没有出现任何出错信息就证明一切ok; 将其定入/etc/rc.local文件中
sudo vi /etc/rc.local
在exit 0前面补充如下
#iptables -F (如果以前有iptables规则则去掉注释,清除以前规则)
#iptables -P INPUT ACCEPT (ip接收策略 允许)
#iptables -P FORWARD ACCEPT (ip发送策略 允许)
iptables -t nat POSTROUTING -s 192.168.1.0/24 -o eno2 -j MASQUEREADE
#最后一行表示的意思是 iptables 允许NAT转发,并且允许192.168.1.0-192.168.1.254网段 转发至eno2网口上(与外网相连的网口) 实现地址转换
搞定后,再重启下网络
sudo /etc/init.d/networking restart # 如果成功的话,会反馈成功
4,workflow-2设置
这个要设置的主要就是静态路由就可以了,连接完网线后,直接进行如下设置(记住,在进行配置之前一定要先使用ifconfig -a查看下网口的名称,不同型号的服务器可能是不一样的)
sudo vi /etc/network/interfaces
内容如下:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
auto eno1 # 启动eno1网口
#iface eno1 inet dhcp
iface eno1 inet static # 开启静态IP
address 192.168.1.2 # 设置静态IP,私有网络的
netmask 255.255.255.0 # 设置掩码
gateway 192.168.1.1 # 设置网关(这个网关就是workflow-1的私有地址)
dns-nameserver 10.8.8.8 # 设置DNS
直接重启下网络
sudo /etc/init.d/networking restart # 如果成功的话,会反馈成功
测试连通性
ping 192.168.1.1 # 测试私有网络连通性
ping www.baidu.com #测试IP转发是否生效
5,workflow-3设置
基本与workflow-2相同,只是改变一下设置的静态IP为192.168.1.3就可以了。
四,补充
1,安装软件
在我们安装服务器后,直接运行sudo apt update 是不行的,因为没有设置源,我们要进行如下操作
cd /etc/apt/ #进入源目录;你可以查看sources.list的内容,是没有源信息的
sudo mv sources.list sources.list_backup #做下备份,当然也可以不要
sudo cp sources.list.apt-setup sources.list #源在sources.list.atp-setup中
#通过上面的步骤还没有完,还要打开sources.list注释掉一句话
sudo vi sources.list
#注释掉第二行,也就是deb cdrom:[Ubuntu-Server 16.04.3 LTS _Xenial Xerus_ - Release amd64 (20170801)]/ xenial main restricted
然后我们就可以进行软件更新和安装了,比如安装iptables
sudo apt update
sudo apt install iptables
2,关于在文件配置静态地址后无效的原因
如果你发现在设置了/etc/network/interfaces文件的静态IP并重启网络后,网口分配了IP地址,但是却与配置文件不对应,这种情况下可能是其他主机或网口占用了这个IP; 通过重启和寻找是哪个地方占用了便可以轻松解决这个问题
参考
系统安装:http://blog.csdn.net/u010442136/article/details/52032260
iptables设置:http://blog.csdn.net/li_hai/article/details/6639118
iptables设置: https://wenku.baidu.com/view/06aab292daef5ef7ba0d3c5e?pcf=2#1