> CentOS > CentOS入门 >

CENTOS 7 64位版 单网卡配置双IP并配置多路由

在一个PC改的服务器上,由于要安装4G以上内存,4T以上的硬盘,所以没有装CENTOS 6这个版本,安装了7的64位版本后,发现版本差异很大,在配置网络上走了很多弯路,g现将“正路”与大家分享一下。
网络情况:
10.10.10.0/24 255.255.255.0 网关 .1 默认路由0.0.0.0
10.239.152.0/27 255.255.255.224 网关 .1 默认路由除本网段外还有2条:10.17.12.0/24 10.87.126.0/24
首先不一样的是CENTOS 7 单网卡配置多IP是在同一个文件中配置而非像以前版本ifcfg-eth0:1这样的配置,以下为我的配置文件:
------------------------------------------------------------------
HWADDR="44:37:E6:B5:E8:53"
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno1"
UUID="ac7c250d-fc41-4613-9069-484e96b7b8c6"
ONBOOT="yes"
IPADDR0="10.10.10.168"
IPADDR1="10.239.152.228"
PREFIX0="24"
PREFIX1="27"
GATEWAY0="10.10.10.1"
GATEWAY1="10.239.152.225"


------------------------------------------------------------------

路由的配置要在/etc/sysconfig/network-script/route-eno1 eno1是你的设备名,如果没有,就用touch命令建一个,以下是我的文件:
------------------------------------------------------------------
ADDRESS0=0.0.0.0
NETMASK0=0.0.0.0
GATEWAY0=10.158.51.1

ADDRESS1=10.239.152.0
NETMASK1=255.255.255.224
GATEWAY1=10.239.152.225

# 下面这几行由于是走的歪路,所以我注释了。

# ADDRESS1=10.17.12.0
# NETMASK1=255.255.255.0
# GATEWAY1=10.239.152.225

# ADDRESS1=10.87.126.0
# NETMASK1=255.255.255.0
# GATEWAY1=10.239.152.225

#10.17.12.0/24 via 10.239.152.225
#10.87.126.0/24 via 10.239.152.225


------------------------------------------------------------------

根据网友的文章,修改route-eno1文件,我发现在我的电脑上可以实现单路由,没有办法实现多路由,所以,随即想通过命令行的方式,在开机启动时,执行命令,添加路由。于是修改/etc/rc.d/rc.local文件,但是在7这个版本上,这个文件已经失效了,没有了执行权限,所以,根据这个文件里面的提示执行以下命令,让这个文件有相应的权限:
chmod +x /etc/rc.d/rc.local
以下为系统在tc.local文件中的提示:
-------------------------------------------------------------------------------
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot 
# this script will NOT be run after all other services.
#  
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.


-------------------------------------------------------------------------------

而后,将这两句话加入到末尾:
-------------------------------------------------------------------------------

ip route add 10.17.12.0/24 via10.239.152.225 dev eno1
ip route add 10.87.126.0/24 via10.239.152.225 dev eno1
-------------------------------------------------------------------------------


如果有专家认为你们的服务器是CENTOS 7 并我说的不对请绕道,我都是自己验证的,可能不同版本真的有不一样的地方,叽哩叭啦说了那么多,回头想想,如果一开始在rc.local里加上4条话可能也可以解决所有问题,不必配置ifcfg-eno1与route-eno1,只是累了,不想再试了,有兴趣的朋友可以试试:
-------------------------------------------------------------------------------
ip addr add dev eno1 10.10.10.168/24 brd 10.10.10.1
ip addr add dev eno1:1 10.239.152.228/27 brd 10.239.152.225

ip route add 10.17.12.0/24 via10.239.152.225 dev eno1
ip route add 10.87.126.0/24 via10.239.152.225 dev eno1
-------------------------------------------------------------------------------




(责任编辑:IT)