[Linux服务器] linux路由表

1415 0
Honkers 2025-3-18 04:33:56 来自手机 | 显示全部楼层 |阅读模式

路由表

  1. 交换是指同网络访问(两台机器连在同一个交换机上,配置同网段的不同ip就可以直接通迅)
  2. 路由就是跨网络访问(路径选择)
  3. 路由表是记录路由信息的表,在Linux中⾸先是⼀张可见的,可更改的表,它的作⽤就是当数据包发到Linux的时候
    ,系统(或者说内核)就根据这张表中定义好的信息来决定这个数据包接下来该怎么⾛.

查看路由表信息

route命令用来查看和设置路由表信息

读懂路由信息

按上面的路由表来看,如果我ping一个公网IP(如ping 10.100.151.38),应该怎么走?

  1. 先看目标ip是否为本地ip,如果是,则直接访问本地;如果不是,则找路由表里是否有你访问的网段.
  2. 如果路由表有则从这个路由条目后面指定的网卡出去;如果路由表里没有你访问的网段,则会找默认路由
    (也就是网关)。
  3. 如果网关也没有的话,则会报错网络不可达。
    connect: Network is unreachable

按上面的路由表来看,如果我ping一个局域网IP为10.0.2.10,会怎么走?
ping 10.0.2.10不会走网关,而是走本地路由从enp0s3网卡出去(因为路由表里有10.0.2.0/24的路由)。

路由选择

  1. route命令介绍
    route add default gw x.x.x.x 临时加网关,马上生效
    route del default gw x.x.x.x 临时删网关,马上生效
    永久增加网关:
    vim /etc/sysconfig/network-scripts/enp0s3
    GATEWAY=x.x.x.x
    或者
    vim /etc/rc.local 操作系统开机最后读取的一个文件

    route add default gw xxxxx
    注意事项:
  2. 加网关只能加你已经有的路由网段里的一个IP才行(此IP不一定存在)
  3. 加网关可以不用指定子网掩码(因为是已有的一个网段的ip,所以掩码已经确认了)

一个linux服务器上能有几个有效网关?
准确来说:一个路由表上可以加多个网关,但只有一个生效

我一台linux上如果有双物理网卡,请问可不可以两个网卡配置同网段的不同IP呢?
enp0s3 10.0.2.1/24
enp0s3 10.0.2.2/24
如果两个网卡同网段,则会有下面两条路由
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s8
结果:
它会实现从两张网卡进来的包,却从一张网卡出去,问题就产生了。假设eth0网卡有问题时,路由表里匹配到第一条后,依
然会走enp0s3网卡,而不会走enp0s8。

route命令介绍
route -n 查看路由,显示ip,不解析
route del default gw 10.0.2.254 删除默认路由
route add default gw 192.168.1.110 添加一个默认网关,把所有不知道的网络交给网关来转发
route add -net 192.168.2.0/24 dev enp0s3 对一个网络添加一个新的路由(另一个网段)
route del -net 192.168.2.0/24

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行