linux 默认路由

    一直在用的 yum 今天突然不能用了,开始的时候报错是和 dns 有关,然后又和 repomd.xml 有关。在网上找了很多资料,还是没能解决。刚好今天下午在机房上课,发现没有办法 ssh 回来了,这才发现,原来和默认路由有很大的关系。

    我的服务器是双网卡,ip 地址情况如下:
        eth0:210.31.X.X 连接外网
        eth1:10.16.121.112   连接内网
        学校机房:10.16.173.14

    首先,我在机房 ssh eth1,发现无法连接。同一网段,无法连接,甚是奇怪!!!

    我还有一台笔记本也开着(ip 地址 10.16.121.105),于是 ssh 笔记本,发现能够登录,然后通过笔记本 ssh eth1,成功登录。分别查看两台电脑的路由表如下:

    笔记本路由表

linux 默认路由_第1张图片

    服务器路由表:

         linux 默认路由_第2张图片

    从上面两张图可以看出,我的笔记本默认路由是 10.16.121.126,而服务器的默认路由是 210.31.197.94。

    默认路由的意思:当路由表中与包的目的地址之间没有匹配项时,路由器选择的路由。如果没有默认路由,那么目的地址在路由表中没有匹配项的包将被丢弃。

    ssh 是通过 tcp 协议进行联机的,在联机之前,要进行三次握手。


  1. 笔记本
    当我从机房进行 ssh 的时候,首先从10.16.173.14 发出握手请求,当笔记本接收到请求后,将予以回应。这时候,路由表里面没有匹配 10.16.173.14 网段的路由项,所以将回应封闭丢给默认路由,也就是网关 10.16.121.126(并不是每一个默认路由都是网关),然后网关在进行寻址和 10.16.173.14 进行联机。
  2. 服务器
    当在机房 ssh eth1 到服务器的时候,从 10.16.173.14 发送握手请求,这时候,服务器是可以接收到的,然后进行回应,但是它的默认路由是 210.31.197.94,它会将回应封闭丢给 210.31.197.94。由于我 210.31.197.94(交换机)上没有到 10.16.173.254(机房电脑的网关)路由,所以就没办法进行 ssh。 

    再回过头来说一下 yum 的问题。由于最近学校机房在更新设备,老师把 210 网段的出口关掉了,导致 210 网段出不去。所以我手动改了一下,把默认路由改成了 10 网段,yum 又能正常使用了。

    现在还存留一个问题就是,怎样决定开机后的默认路由。由于我双网卡,每次开机后,都会自动选择 210 ip 为默认路由,不知到怎样才能让它开机后默认路由是 10 段。

    知道的小伙伴们教教我哈^^


你可能感兴趣的:(linux,yum,route,默认路由)