首页 > 其他分享 >如何配置双网关/双网卡

如何配置双网关/双网卡

时间:2023-12-26 16:04:31浏览次数:36  
标签:网关 ip 配置 192.168 网卡 10.10 table 双网卡 路由表





# 1.前期准备


1)两个网卡都需要正确设置,包括各自默认网关(注意,两个网卡都需要设定网关)

   网卡配置文件在 /etc/sysconfig/network-scripts/目录下,需要正确设置两个网卡的配置文件,然后重新启用新配置。

2)两个网卡都已正确接入到两路线路,并且两路网络的服务供应商都已正常提供服务




# 2.双网关设置步骤

请严格按照下述步骤执行,需要root权限,并且把下述的网卡名称和ip、网关ip换成实际环境中的数值

假设

   网卡1

       名称:enp0s3

       ip:10.10.10.132

       网关:10.10.10.254

   网卡2

       名称:enp0s8

       ip:192.168.11.132

       网关:192.168.0.1



ip route flush table Route101                                                #清空路由表1

ip route flush table Route102                                                #清空路由表2

echo "101 Route101" >> /etc/iproute2/rt_tables                                 #增加路由表1

echo "102 Route102" >> /etc/iproute2/rt_tables                                #增加路由表2

ip route add default via 10.10.10.254 dev enp0s3 table Route101                #在路由表1中添加默认路由

ip route add 10.10.0.0/20 dev enp0s3 src 10.10.10.132 table Route101                #在路由表1中添加默认路由

ip route add default via 192.168.0.1 dev enp0s8 table Route102                #在路由表2中添加默认路由

ip route add 192.168.0.0/20 dev enp0s8 src 192.168.11.132 table Route102                #在路由表2中添加默认路由

ip rule delete from 10.10.10.132 table Route101                                #删除路由规则(如果上次增加过)

ip rule delete from 10.10.10.254 table Route101                                #删除路由规则(如果上次增加过)

ip rule delete from 192.168.11.132 table Route102                            #删除路由规则(如果上次增加过)

ip rule delete from 192.168.0.1 table Route102                                #删除路由规则(如果上次增加过)

ip rule add from 10.10.10.132 table Route101                                #增加路由规则,根据来源端IP来决定数据包参考哪个路由表发送出去

ip rule add from 10.10.10.254 table Route101                                #增加路由规则,根据来源端IP来决定数据包参考哪个路由表发送出去

ip rule add from 192.168.11.132 table Route102                                #增加路由规则,根据来源端IP来决定数据包参考哪个路由表发送出去

ip rule add from 192.168.0.1 table Route102                                    #增加路由规则,根据来源端IP来决定数据包参考哪个路由表发送出去

ip route flush cache                                                        #清除路由cache

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore                                #arp_ignore:控制系统在收到外部的arp请求时,是否要返回arp响应。1:只响应目的IP地址为接收网卡上的本地地址的arp请求。

ip neigh flush dev enp0s3                                                    #清除本地ARP缓存

ip neigh flush dev enp0s8                                                    #清除本地ARP缓存




# 3.状态确认


一般情况下按照上述操作设置之后,就已实现双网关设置。两路网络互不干扰,可以各自发送和接收流量。

在RRS中,只要选择相应网卡即可实现通过该路网络收发流。

下面是验证网络设置是否正确。

方法一:同时使用2路网络开启RRS流之后,运行下述两个命令观察流量是否从正确的网络走,如果结果的第一列中出现了另外一个网卡的ip,那说明设置有问题,反之,则设置正确。

   iftop -i enp0s3 -n

   iftop -i enp0s8 -n

方法二:验证从 10.10.10.132 以及 192.168.11.132 的包的路由选择

   ip route get 8.8.8.8 from 10.10.10.132

   ip route get 8.8.8.8 from 192.168.11.132

   结果应该类似于下面:

   8.8.8.8 from 10.10.10.100 via 10.10.10.254 dev enp0s3

   8.8.8.8 from 192.168.11.132 via 192.168.0.1 dev enp0s8

方法三:

   ping 8.8.8.8 -I  10.10.10.132

   ping 8.8.8.8 -I  192.168.11.132



# 4.故障调查

如果设置不正确,请使用以下命令检查设置状态

1)检查 /etc/iproute2/rt_tables 文件内容,正确的设置应该大致如下所示(应当包含101 102路由表定义):

   255     local

   254     main

   253     default

   0       unspec

   #

   # local

   #

   #1      inr.ruhep

   101 Route101

   102 Route102

2)检查路由表和路由规则

   命令:

       ip route show table Route101  

       ip route show table Route102

   结果中应当包含类似于以下内容:

       default via 10.10.10.254 dev enp0s3

       default via 192.168.0.1 dev enp0s8



   命令:ip rule

   结果中应当包含类似于以下内容:

       32763:  from 192.168.0.1 lookup Route102

       32764:  from 192.168.11.132 lookup Route102

       32765:  from 10.10.10.132 lookup Route101

       32765:  from 10.10.10.254 lookup Route101

3)检查2个网卡设置四否正确,内网ping其他机器是否都ok.






# 5.以上的路由设置会在系统或网络重启后被清理。因此需要将它保存下来

开机脚本制作

(在以上各步骤都验证ok之后,再进行下述步骤。因为部分设置开机不会丢失,所以开机脚本只需要运行会丢失的部分)

chmod +x /etc/rc.d/rc.local

编辑/etc/rc.d/rc.local,加入以下命令:(具体网卡的ip和网关需要修改为实际的你的ip)




ip route flush table Route101                                                

ip route flush table Route102    


if grep -q "101 Route101" /etc/iproute2/rt_tables; then

   echo ""

else

   echo "101 Route101" >> /etc/iproute2/rt_tables

fi        


if grep -q "102 Route102" /etc/iproute2/rt_tables; then

   echo ""

else

   echo "102 Route102" >> /etc/iproute2/rt_tables

fi


ip route add default via 10.10.10.254 dev enp0s3 table Route101              

ip route add 10.10.0.0/20 dev enp0s3 src 10.10.10.132 table Route101        

ip route add default via 192.168.0.1 dev enp0s8 table Route102              

ip route add 192.168.0.0/20 dev enp0s8 src 192.168.11.132 table Route102          

ip rule del from 10.10.10.132 table Route101

ip rule del from 10.10.10.254 table Route101

ip rule del from 192.168.11.132 table Route102

ip rule del from 192.168.0.1 table Route102

ip rule add from 10.10.10.132 table Route101

ip rule add from 10.10.10.254 table Route101

ip rule add from 192.168.11.132 table Route102

ip rule add from 192.168.0.1 table Route102

ip route flush cache

echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore

ip neigh flush dev enp0s8

ip neigh flush dev enp0s3




# 最后,特别需要注意的地方

1)网上很多文章介绍双网卡设置的文章提示说一台电脑拥有两个默认网关是不行的,

   需要禁用其中一个网卡的网关设置,和我们这个双网关的情况不同,那种情况是指同时可以访问内网

   和外网。我们这里要做的是同时可以访问两个外网线路,两个网卡都需要设置各自的网关,

   通过增加路由表来控制网络流量。系统默认只有1个主路由表,一个路由表只有一个默认网关。

   而我们这种情况下会有多个路由表,所以可以有多个默认网关。

2) arp_ignore标志必须设置为1,否则会出现一个网卡的流量有时会串入另一个网卡。

   这点非常重要,否则表面上看2个网卡都正常工作,其实用iftop查看网卡流量会发现有时流量

   会在两个网卡之间互相串,并不能真正的做到流量分离。

标签:网关,ip,配置,192.168,网卡,10.10,table,双网卡,路由表
From: https://blog.51cto.com/u_16474495/8984082

相关文章

  • grep -Ev '#|^$' zabbix_server.conf 显示配置文件 命令
    grep-Ev'#|^$'zabbix_server.confroot@k8s-node01:/etc/zabbix#grep-Ev'#|^$'zabbix_server.confLogFile=/var/log/zabbix/zabbix_server.logLogFileSize=0PidFile=/run/zabbix/zabbix_server.pidSocketDir=/run/zabbixDBName=zabbixDBUser=......
  • 浅聊SpringCloud的网关
    为什么要设计网关?上网搜罗了一下,觉得别人说的挺好,就引用了一下,在使用微服务的时候,不同的功能业务会集成一个服务群,而网关是基于服务群上的一个服务层,也是单独暴露给客户端的APIs。客户端对微服务的依赖直接使重构服务变得困难。一种直观的方法是将这些服务隐藏在一个新的服务层后面......
  • Keepalived 安装 配置 Nginx 高可用
    Keepalived安装配置Nginx高可用Keepalived安装yuminstall-ykeepalived配置文件位置/etc/keepalived/keepalived.conf配置nginx高可用vi/etc/keepalived/keepalived.confvrrp_scriptchk_gluster{script"/usr/bin/systemctlis-activeglusterd"int......
  • 数据库清空,镜像编译,docker配置文件及服务启动完整流程
    前言:当数据库表发生变更的时候。 要做的事情:一、更改数据库表#删除表,更改数据库表(表结构改变)droptableifexistssrc20_v3;droptableifexistssrc20_valid_v4;droptableifexistssrc20_tick_v4;droptableifexistssrc20_mint_progress_v4;droptableifex......
  • Winserver上如何配置和开启NTP客户端进行时间同步
    场景Winserver2012服务器,需要与其它服务器保持时间一致。已知NTP服务器的ip,在winserver服务器上如何进行配置和开启。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、运行-输入gpedit.msc打开组策略管理器 2、找到计算机配置-管理模板-系统-Windows时......
  • Linux 配置.Net 7.0 运行环境
    运行命令dotnet--info,看看是不是成功安装了7.0.0第二步:配置守护进程1,在服务器根目录(/)下创建一个名/www/myweb的目录,用来存放我们的发布文件2,最好先把asp.netcore7测试项目发布后,上传到上面的目录中3,为使每次服务器重启能自动启动我们的应用程序和监测应用程序的运行状态,......
  • Cisco Expressway Release X15.0.0 - 统一通信网关
    CiscoExpresswayReleaseX15.0.0-统一通信网关Expressway&ExpresswaySelect请访问原文链接:https://sysin.org/blog/cisco-expressway-15/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgCiscoExpressway系列让协作变得更简单CiscoExpressway可在保证......
  • 如何通过UMC配置外围组件
    随着云计算技术的不断发展,在信息化建设模式上云是大势所趋。对于企业而言,已建立的内部集成并不能支撑其快速搭建开发环境、快速部署集群服务,并且动态水平扩展对多组织情况许可费用高昂、没有敏捷快速迭代机制,导致开发完毕就落伍,以及不能快速进行产品扩展等现象,解决这一问题的根本方......
  • LiveGBS流媒体平台GB/T28181常见问题-配置国标流媒体服务日志文件个数及记录时长配置l
    LiveGBS流媒体平台GB/T28181常见问题-如何配置国标流媒体服务日志文件个数及记录时长1、日志文件2、配置日志文件个数及记录时间3、配置日志文件路径4、相关问题4.1、如何关闭信令日志?5、搭建GB28181视频直播平台1、日志文件部署LiveGBS后,LiveCMS和LiveSMS的解压目录下都个l......
  • mysql 配置主从复制
    主库配置#BinaryLogging.#log-binlog-bin=mysql-bin#[必须]启用二进制日志#ErrorLogging.log-error="mysql-error.log"#ServerId.server-id=200#不同步的数据库,可设置多个binlog-ignore-db=information_schemabinlog-ignore-db=performance_schemabinlo......