首页 > 其他分享 >双网卡问题及route命令使用

双网卡问题及route命令使用

时间:2024-01-22 17:14:48浏览次数:35  
标签:IP route 默认 网卡 命令 192.168 双网卡 路由

双网卡问题:IP路由依次查找:路由表IP段->默认路由1->默认路由2;如果路由表有目标IP段路由,则使用该路由;如果没有则使用默认路由;双网卡通常会自动有两个默认路由,这就可能导致网络问题;
1,如果两张网卡设备都连接相同网络,这种情况不会有问题,两边网络一样使用那个默认路由都可以。
2,通常情况服务器两张网卡是不同网络环境。比如一张外网,另一张内网,双网卡启用后,可能就是不配路由外网就无法访问
表现:ping 一个外网不通,route 不加 -n 执行的很慢,将IP添加到路由表就通;可能有两台服务器看似环境一样,但是有一台可以访问外网,另一台就不行
原因:多个默认路由情况下,在路由表没有目标IP段路由情况下,系统并不会依次尝试各个路由,只会选择优先级最高的路由。访问外网IP使用了内网卡优先级高的默认路由。为什么这里系统不依次尝试多个默认路由?个人理解:每尝试一个默认路由花费时间是非常大的,快也在2-3秒以上。即便系统尝试了其他路由,使得IP可以访问,但是给人的感觉就是网络很慢无法忍受。

解决:双网卡通常情况都是要配置路由的。使用的内网IP段有限,可以将有限的内网IP段加到内网卡设备路由信息;外网卡配置为优先级最高得默认路由,或者自行单独添加一个默认路由。外网IP段太多无法穷举列在路由里。或者删除内网IP默认路由只保留一个外网卡的默认路由。
细节:添加路由时,会尝试网络是否可达,由于默认路由问题导致的其他网段IP不通,可能导致IP路由无法添加,解决办法:先将路由添加为指定的网卡设备转发 如:route add -net 192.168.1.0 netmask 255.255.255.0 dev eno0,之后就可以加相应的网关路由。


route命令查看路由
route -n
flags含义
    U 表示该路由是可用的 (up)
    G 表示该路由是一个默认网关 (gateway)
    H 表示该路由是一个主机路由 (host)
    UG 表示该路由同时具有默认网关和可用的属性
    UGH 表示该路由同时具有默认网关、可用和主机路由属性
Metric含义
    优先级,值越小优先级越高
    修改网卡配置文件 增加 IPV4_ROUTE_METRIC 参数修改优先级,值为int
添加删除路由
route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
add添加一条路由规则
del删掉一条路由规则
-net目的地址是一个网路
-host目的地址是一个主机
target目的网路或主机
netmask目的地址的网路网段
gw路由数据包通过的网段
dev为路由指定的网路插口

添加默认路由
# route add default gw 192.168.1.1
#添加路由指定目标通过的网段
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1
#添加路由指定目标通过的网卡设备
route add -net 192.168.1.0 netmask 255.255.255.0 dev eno0
#如果指定掩码为 255.255.255.255 则变为了到主机的路由
route add -net 192.168.1.2 netmask 255.255.255.255 gw 192.168.0.1
#永久路由persist
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1 persist
删除路由
route del -net 172.16.0.0 netmask 255.255.0.0 gw 172.16.100.1
#删除到主机的路由
route del -host 192.168.1.100 gw 192.168.0.1

 





标签:IP,route,默认,网卡,命令,192.168,双网卡,路由
From: https://www.cnblogs.com/dagongjie/p/17980478

相关文章

  • 批处理命令set截取字符详解
    在批处理中,set的功能有点繁杂:设置变量、显示环境变量的名及值、做算术运算、等待用户的输入、字符串截取、替换字符串,是我们常用的命令之一。在字符串截取方面,新手因为没能注意到偏移量的问题,很容易提取到错误的字符串,因此,特开此帖,详细解释set截取字符的用法。......
  • [AHK2] wt调用命令
    最近在研究mc服务器,一般启动时使用bat文件就可以,但是我想在终端中运行而不是在cmd中。查了wt和pwsh的文档写出了下面的脚本。作用仅仅是在wt中运行java这条命令。脚本包括一些变量,其中:reuse表示是否打开一个新的wt实例。headC表示在调用jar前运行的powershell命令。javaC中......
  • Git常用命令
    1初始化仓库#1初始化仓库gitinit#初始化当前文件夹gitinit文件夹#在当前文件夹下创建文件夹,并把新创建的文件夹作为仓库——仓库目录下会出现.git文件夹,文件夹千万不要删除2查看仓库状态gitstatusgitstatus-s#查看仓库状态的简约显示#红色:工作区有......
  • nc命令用法示例
    nc简介ncnc全称netcat,又叫做瑞士军刀,是一款简单、可靠的网络工具。作用实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口端口扫描,nc可以作为client发起TCP或UDP连接机器之间传输文件机器之间网络测速安装CentOS/RHEL/Fedora:yuminstall-yncnc......
  • git常用命令速查表
    群友分享的速查表: __EOF__作者:持之以恒(韧)关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等......
  • SAN 光交简单命令
    SAN光交简单命令 FC1步骤命令1,新建主机别名alicreate"cspower1","10:00:00:10:9b:ba:XX:XX"2,新建存储别名alicreate"SAN1_L0_IOM0_P0","20:00:00:20:5b:bc:XX:XX"3,新建zonezonecreate"cspower1_SAN1_L0_IOM0_P......
  • 常用的Linux命令:查看日志中报错信息的前后多少行
    方法一:使用cat xx.log|grep'错误信息'这个只能查询出日志文件中是否有保持信息,看不到报错信息的前后上下文信息;catinfo.log|grep'handlermqarticlefilerecorddatafail'ERRORc.u.c.s.d.s.u.i.HelpDataSyncServiceImpl[HelpDataSyncServiceImpl.java:623]handler......
  • js设计模式之命令模式
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>命令模式</title></head><body><buttonid="btn1">刷新菜单</button><buttonid="btn2">增......
  • 基本Dos命令
    什么是代码是写给计算机的指令命令指示符什么是命令提示符:CMD,command的缩写。主要功能:它允许用户通过简单的文本命令来操作系统,尤其适用于需要自动化任务和批处理操作的场景。1.执行命令2.系统管理3.文件目录管理4.网络管理5.故障排查打开方式:Windows菜单里面直接......
  • Linux常用命令(02)
    1.cpcp复制文件copy#windows:ctrl+c复制ctrl+v粘贴ctrl+x剪切Linuxcp语法结构:cp文件拷贝到哪里cp源文件拷贝到哪里cp当前目录下的文件拷贝到哪里cp绝对路径的文件拷贝到当前(改名)cp绝对路径的文件指定到哪个目录案例#清空当前......