centos7配置多网卡以及简单的路由

centos7配置多网卡

前言:由于服务器A需要访问特定的服务器B 但是A目前所在的网络与服务器B是不同的,所以目前从B服务器的交换机上拉一条网线到A服务器上,因为服务器都是多网卡的,所以需要进行配置,并且配置完毕之后想要达到的效果为,只有访问B服务器的IP才会走另一张网卡,其余的网络还是走原来的网卡。另外我们的这个网络是服务器的专属网段,所以没有启用DHCP,全部都是静态IP的配置,如果是DHCP的,那么需要进行在路由端绑定mac地址,要不然服务器的IP变了可不是闹着玩的。
我目前centos的版本信息如下

[root@l92 ~]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 
[root@l92 ~]#

前提配置

A服务器有四张网卡,名称为em1 em2 em3 em4 目前只有em1网卡在用,现在将能联通B服务器的网线插入em2,所以目前的话就是两张网卡在用,分别为em1,em2

开始配置

首先配置em1网卡的IP。(其实已经配置好了的,这里主要是看一下)

[root@l92 ~]# cd /etc/sysconfig/network-scripts/
[root@l92 network-scripts]# ls
ifcfg-em1      ifcfg-em4    ifdown-eth   ifdown-post    ifdown-Team      ifup-aliases  ifup-ipv6   ifup-post    ifup-Team      init.ipv6-global
ifcfg-em1.bak  ifcfg-lo     ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-isdn   ifup-ppp     ifup-TeamPort  network-functions
ifcfg-em2      ifdown       ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifcfg-em3      ifdown-bnep  ifdown-isdn  ifdown-sit     ifup             ifup-ippp     ifup-plusb  ifup-sit     ifup-wireless  route-em2
[root@l92 network-scripts]#

通过上面命令就可以看到一堆的文件信息,重要主要看以下几个
其中咱们得A服务器有4张网卡,那么这里面就有对应4个网卡的配置文件,分别为ifcfg-em1,ifcfg-em2,ifcfg-em3,ifcfg-em4。另外前言已经介绍了,咱们目前只用到了em1以及em2。

首先看一下em1的配置信息

[root@l92 network-scripts]# cat ifcfg-em1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em1
UUID=1e242b71-a89c-4e80-8255-17613f3082d3
DEVICE=em1
ONBOOT=yes
ZONE=public

IPADDR=192.168.10.26
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=8.8.8.8
[root@l92 network-scripts]#

下面是每个参数的详细解释:

  • TYPE=Ethernet:指定网络接口的类型,这里是以太网。
  • PROXY_METHOD=none:指定代理方法,这里没有使用代理。
  • BROWSER_ONLY=no:是否只用于浏览器,设置为否。
  • BOOTPROTO=static:注释掉了 dhcp,并将 BOOTPROTO 设置为静态,表示使用静态 IP 地址而不是 DHCP 动态获取。
  • DEFROUTE=yes:指定是否使用此接口作为默认路由,设置为是。
  • IPV4_FAILURE_FATAL=no:IPv4 配置失败是否致命,设置为否。
  • IPV6INIT=yes:是否初始化 IPv6,设置为是。
  • IPV6_AUTOCONF=yes:是否使用自动配置 IPv6 地址,设置为是。
  • IPV6_DEFROUTE=yes:是否使用此接口作为 IPv6 默认路由,设置为是。
  • IPV6_FAILURE_FATAL=no:IPv6 配置失败是否致命,设置为否。
  • IPV6_ADDR_GEN_MODE=stable-privacy:指定 IPv6 地址生成模式,使用稳定隐私地址。
  • NAME=em1:接口的名称。
  • UUID=1e242b71-a89c-4e80-8255-17613f3082d3:接口的唯一标识符 (UUID)。
  • DEVICE=em1:设备名称。
  • ONBOOT=yes:系统启动时是否启用此接口,设置为是。
  • ZONE=public:接口所属的网络区域,这里是公共区域。

与静态 IP 配置相关的参数:

  • IPADDR=192.168.1.226:接口的静态 IP 地址。
  • NETMASK=255.255.255.0:子网掩码,定义网络部分和主机部分的分界。
  • GATEWAY=192.168.1.1:默认网关的 IP 地址。
  • DNS1=8.8.8.8:指定第一个 DNS 服务器的 IP 地址(这里使用的是 Google 的公共 DNS 服务器)。

这些参数一起配置了一个以太网接口,使其在系统启动时启用,使用静态 IP 地址,并具有特定的路由和 DNS 配置。

看一下em2的配置信息

[root@l92 network-scripts]# cat ifcfg-em2
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=em2
UUID=4894799d-a8ae-4b79-a26d-ab703cd6d84e
DEVICE=em2
ONBOOT=yes
ZONE=public

IPADDR=192.168.10.25
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
DNS1=114.114.114.114
[root@l92 network-scripts]#

具体的参数意义在参考接口1

配置完毕之后需要进行重启网络服务

[root@l92 network-scripts]# systemctl restart network

查看接口的IP地址

[root@l92 network-scripts]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether dc:f4:01:e6:d3:70 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.26/24 brd 192.168.10.255 scope global em1
       valid_lft forever preferred_lft forever
    inet6 fe80::f6ea:3333:b4de:6fff/64 scope link 
       valid_lft forever preferred_lft forever
3: em2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether dc:f4:01:e6:d3:71 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.25/24 brd 192.168.10.255 scope global em2
       valid_lft forever preferred_lft forever
    inet6 fe80::35bc:bb39:45c9:b541/64 scope link 
       valid_lft forever preferred_lft forever
4: em3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether dc:f4:01:e6:d3:72 brd ff:ff:ff:ff:ff:ff
5: em4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000
    link/ether dc:f4:01:e6:d3:73 brd ff:ff:ff:ff:ff:ff
[root@l92 network-scripts]#

那么我们可以看到,我们的IP配置成功了

配置路由信息

让目标为B服务器的流量,通过em2网卡进行发送,这样B服务器解析到的IP就是192.168.10.25 而不是 192.168.10.26
开始配置
B服务器的IP地址为 11.12.13.14

[root@l92 network-scripts]# ip route add 11.12.13.14/32 dev em2

参数解释:
dev 后面的参数就是选择物理网卡 其余的都应该能看得懂了
查看路由配置信息

[root@l92 network-scripts]# ip route show
default via 192.168.10.1 dev em1 proto static metric 100 
default via 192.168.10.1 dev em2 proto static metric 101 
192.168.10.0/24 dev em1 proto kernel scope link src 192.168.10.26 metric 100 
192.168.10.0/24 dev em2 proto kernel scope link src 192.168.10.25 metric 101 
11.12.13.14 via 192.168.1.1 dev em2 proto static metric 100 
[root@l92 network-scripts]# 

下面是这五条路由的详细解释:

  1. default via 192.168.10.1 dev em1 proto static metric 100

    • default:这是默认路由,用于所有未明确指定的目的地。
    • via 192.168.10.1:表示下一跳的网关地址是 192.168.10.1。
    • dev em1:使用网络接口 em1
    • proto static:路由是静态配置的。
    • metric 100:路由的度量值(优先级),值越小优先级越高,这里是 100。
  2. default via 192.168.10.1 dev em2 proto static metric 101

    • default:同样是默认路由。
    • via 192.168.10.1:下一跳的网关地址仍然是 192.168.10.1。
    • dev em2:使用网络接口 em2
    • proto static:静态配置。
    • metric 101:路由的度量值为 101,比 em1 上的默认路由优先级低。
  3. 192.168.10.0/24 dev em1 proto kernel scope link src 192.168.10.26 metric 100

    • 192.168.10.0/24:这是一个子网路由,表示 192.168.10.0 到 192.168.10.255 的地址范围。
    • dev em1:通过网络接口 em1
    • proto kernel:路由由内核自动生成。
    • scope link:路由的作用域为链路级,表示直接连接的网络。
    • src 192.168.10.26:源地址为 192.168.10.26。
    • metric 100:度量值为 100。
  4. 192.168.10.0/24 dev em2 proto kernel scope link src 192.168.10.25 metric 101

    • 192.168.10.0/24:同样是一个子网路由,表示 192.168.10.0 到 192.168.10.255 的地址范围。
    • dev em2:通过网络接口 em2
    • proto kernel:由内核自动生成。
    • scope link:链路级作用域。
    • src 192.168.10.25:源地址为 192.168.10.25。
    • metric 101:度量值为 101,比 em1 的优先级低。
  5. 11.12.13.14 via 192.168.1.1 dev em2 proto static metric 100

    • 11.12.13.14:这是一个具体的目标 IP 地址。
    • via 192.168.1.1:通过 192.168.1.1 作为下一跳网关。
    • dev em2:使用网络接口 em2
    • proto static:静态配置。
    • metric 100:度量值为 100。

总结:

  • 有两个默认路由(第一条和第二条),都指向 192.168.10.1,但使用不同的接口(em1em2),em1 的优先级较高。
  • 第三条和第四条是子网路由,分别通过 em1em2 访问 192.168.10.0/24 子网,em1 优先级较高。
  • 第五条是一个静态路由,指向特定 IP 地址 11.12.13.14,通过网关 192.168.1.1 和接口 em2,优先级为 100。

那么下面我们就可以进行测试了。

注意:这里不要重启网络服务,因为重启完毕之后自己添加的路由信息就会没,先不用担心,继续跟着往下做

通过测试到达指定IP地址可以看具体的路由信息

[root@l92 network-scripts]# ip route get 11.12.13.14
11.12.13.14 via 192.168.1.1 dev em2 src 192.168.10.25 
    cache 
[root@l92 network-scripts]#

通过这个测试信息,其实我们也就看到了,只要是B服务器11.12.13.14对我们的192.168.10.25是开放的,那么我们就肯定能联通了

永久路由保存

如果在做完上面的配置之后,进行重启网络服务,那么在进行查看路由信息就发现不存在了。那么这条的路由信息肯定要进行永久保存的
首先,我们来到文件夹

[root@l92 network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@l92 network-scripts]#

查看文件信息

[root@l92 network-scripts]# ls
ifcfg-em1      ifcfg-em4    ifdown-eth   ifdown-post    ifdown-Team      ifup-aliases  ifup-ipv6   ifup-post    ifup-Team      init.ipv6-global
ifcfg-em1.bak  ifcfg-lo     ifdown-ippp  ifdown-ppp     ifdown-TeamPort  ifup-bnep     ifup-isdn   ifup-ppp     ifup-TeamPort  network-functions
ifcfg-em2      ifdown       ifdown-ipv6  ifdown-routes  ifdown-tunnel    ifup-eth      ifup-plip   ifup-routes  ifup-tunnel    network-functions-ipv6
ifcfg-em3      ifdown-bnep  ifdown-isdn  ifdown-sit     ifup             ifup-ippp     ifup-plusb  ifup-sit     ifup-wireless  route-em2
[root@l92 network-scripts]#

其实如果比较细心的就会看到,我这里多了一个配置文件 route-em2 的文件,没错,这就是配置路由的永久保存方法,如果没有这个文件的话就直接新建一个。新建的规则为 route-网卡名称
里面的文件信息如下

[root@l92 network-scripts]# cat route-em2 
11.12.13.14/32 via 192.168.1.1 dev em2
[root@l92 network-scripts]# 

这个就不用我解释了吧。
现在开始重启网络服务,查看路由信息还在不在

[root@l92 network-scripts]# systemctl restart network
[root@l92 network-scripts]# ip route show
default via 192.168.10.1 dev em1 proto static metric 100 
default via 192.168.10.1 dev em2 proto static metric 101 
192.168.10.0/24 dev em1 proto kernel scope link src 192.168.10.26 metric 100 
192.168.10.0/24 dev em2 proto kernel scope link src 192.168.10.25 metric 101 
11.12.13.14 via 192.168.1.1 dev em2 proto static metric 100 
[root@l92 network-scripts]# ip route get 11.12.13.14
11.12.13.14 via 192.168.1.1 dev em2 src 192.168.10.25 
    cache 
[root@l92 network-scripts]# 

通过上面我们可以看到保存的信息还是存在的。

上面的一些配置使我实际当中用到的,当然也只是冰山一角,关于路由的只是还需要多多补充,如果文档中存在错误的地方,欢迎指正

  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值