• linux route路由


    网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连

    就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关。默认网关一般填写192.168.x.1

    需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址

    直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。永久方法:

    1. 在/etc/rc.local里添加
    2. 在/etc/sysconfig/network里添加到末尾

    命令格式

    # route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
    # route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]

    -net:路由为一个网域
    -host:连接到主机的路由
    dev:指定由哪一块网卡连线出去

    -f:清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表

    例子

    # route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
    # route add -host 192.56.76.11 gw 192.168.2.16

    -net:必须指定netmask。否则报”Invalid argument”错误
    gw:指定下一跳地址

    Flags

    1. U (route is up):该路由是启动的
    2. H (target is a host):目标是一主机 (IP) 而非网域
    3. G (use gateway):需要透过外部的主机 (gateway) 来转递封包
    4. R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标
    5. D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
    6. M (modified from routing daemon or redirect):路由已经被修改了
    7. ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
    8. A (installed by addrconf)
    9. C (cache entry)

    配置路由
    比如,你的主机处于192.168.10.0/24,而你想访问192.168.20.0/24网的主机,当然你知道一个网关IP,例如192.168.10.1(必须和你主机处于同一子网)

    # route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1

    路由表

    Destination     Gateway         Genmask         Flage Metric Ref Use Iface
    192.168.100.0   *               255.255.255.0   U     0      0   0   eth0
    127.0.0.0       *               255.255.255.0   U     0      0   0   l0
    default         192.168.100.5   0.0.0.0         UG    0      0   0   eth0

    第一行指192.168.100.0网段数据包通过eth0口发出
    第三行指其余数据包下一跳为192.168.100.5(默认网关)

    重复设定多个同样的路由

    Kernel  IP  routing  table 
    Destination          Gateway                  Genmask                  Flags  Metric  Ref        Use  Iface 
    192.168.10.0        0.0.0.0                  255.255.255.0      U          0            0                0  eth0 
    192.168.10.0        0.0.0.0                  255.255.255.0      U          0            0                0  eth1 

    也就是说,由于路由是依照顺序来排列与传送的,所以不论封包是由那个介面 (eth0, eth1) 所接收,都会由上述的 eth0 传送出去

    下达错误指令

    # route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254

    系统会报”No suck process”错误。要求相连网口必须处于同一网段
    因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254这个网段直接使用 MAC 互通

  • 相关阅读:
    使用HttpClient短信网关接口实现手机号验证码注册
    Linux安装nginx、redis(在线安装)
    Linux安装Tomcat(本地安装)
    Linux搭建java运行环境(本地安装)
    Linux的安装注意事项
    Linux的Shell常用命令
    applicationContext.xml的复用(import resource)
    Redis解决Session共享问题(如果开启nginx,实现负载均衡)
    Redis缓存商品查询信息(SpringMVC)
    Spring整合Redis
  • 原文地址:https://www.cnblogs.com/zhangxuechao/p/11709853.html
Copyright © 2020-2023  润新知