linux路由表

路由表

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

查看路由表信息

route命令用来查看和设置路由表信息
linux路由表_第1张图片

读懂路由信息

按上面的路由表来看,如果我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

你可能感兴趣的:(linux,网络,运维)