ip route 命令的使用
ip route 可以用于查看网络的路由信息,并设置路由表
- 命令参数详解
route [-nee]
route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
观察的参数:
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示
增加 (add) 与删除 (del) 路由的相关参数:
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定 netmask 决定网域的大小;
gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等
- 输出参数详解
格式:route -n
格式:/sbin/route -n
用于打印路由表,加上-n参数就是在输出的信息中不打印主机名而直接打印ip地址
格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
用于设置默认路由,其中,
参数{IP-ADDRESS): 用于指定路由器(网关)的IP地址;
参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。使用/sbin/ifconfig -a可以显示所有接口信息。
例:route add default gw mango
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
添加到指定网络的路由规则,其中
参数{NETWORK-ADDRESS}: 用于指定网络地址
参数{NETMASK}: 用于指定子网掩码
参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。
例1:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
例2:route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达。
例:route add -net 10.0.0.0 netmask 255.0.0.0 reject
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
用于删除路由设置。参数指定的方式与route add相似。
- 打印显示说明
第一行表示主机所在网络的地址,若数据传送目标是在本局域网内通信,则可直接通过eth0转发数据包;
第四行表示数据传送目的是访问Internet,则由接口eth0,将数据包发送到网关
其中Flags为路由标志,标记当前网络节点的状态。
Flags标志说明:
U Up表示此路由当前为启动状态
H Host,表示此网关为一主机,(IP) 而非网域;
G Gateway,表示此网关为一路由器,需要透过外部的主机 (gateway) 来转递封包;
R Reinstate Route,使用动态路由重新初始化的路由
D Dynamically,此路由是动态性地写入
M Modified,此路由是由路由守护程序或导向器动态修改
! 表示此路由当前为关闭状态
A (installed by addrconf)
C (cache entry)
- route n 显示所有路由
[root@ceph-104 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.229.37.1 0.0.0.0 UG 101 0 0 enp2s1
10.229.37.0 0.0.0.0 255.255.255.0 U 101 0 0 enp2s1
111.192.168.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
显示结果在前的路由优先使用
- ip route show 查看路由信息
[root@ceph-104 ~]# ip route show
default via 10.229.37.1 dev enp2s1 proto static metric 101
10.229.37.0/24 dev enp2s1 proto kernel scope link src 10.229.37.231 metric 101
111.192.168.0/24 dev enp2s3 proto kernel scope link src 111.192.168.104 metric 100
- ip route get ip 查看到达该ip地址的路由信息
[root@ceph-104 ~]# ip route get 111.192.168.101
111.192.168.101 dev enp2s3 src 111.192.168.104 uid 0
cache
[root@ceph-104 ~]#
- ip route add/delete
# 添加到主机的路由
[root@ceph-104 ~]# route add -host 目的IP dev 选择经过的网卡
[root@ceph-104 ~]# route add -host 111.192.168.101 dev enp2s3
[root@ceph-104 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.229.37.1 0.0.0.0 UG 101 0 0 enp2s1
10.229.37.0 0.0.0.0 255.255.255.0 U 101 0 0 enp2s1
111.192.168.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s3
111.192.168.101 0.0.0.0 255.255.255.255 UH 0 0 0 enp2s3 # 添加到主机的路由(经过指定网卡)
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[root@ceph-104 ~]# route add -host 目的IP gw 经过的网关
[root@ceph-104 ~]# route add -host 111.192.168.101 gw 111.192.168.1
[root@ceph-104 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.229.37.1 0.0.0.0 UG 101 0 0 enp2s1
10.229.37.0 0.0.0.0 255.255.255.0 U 101 0 0 enp2s1
111.192.168.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s3
111.192.168.101 111.192.168.1 255.255.255.255 UGH 0 0 0 enp2s3 # 添加到主机的路由(经过网关)
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
#删除路由
[root@ceph-104 ~]# route del -host 111.192.168.101 删除一条匹配的路由
route del -host 111.192.168.101 gw 111.192.168.1 删除匹配的路由
[root@ceph-104 ~]# route del -host 111.192.168.101 dev enp2s3 删除匹配的路由
# 添加到主机的路由
#添加到某网段的路由
# 增加一条路由信息(发送到10.229.37.0网段的通信包全都要经过10.229.37.1这个网关)
[root@ceph-104 ~]# route add -net 10.229.37.0 netmask 255.255.255.0 gw 10.229.37.1
[root@ceph-104 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.229.37.1 0.0.0.0 UG 101 0 0 enp2s1
10.229.37.0 10.229.37.1 255.255.255.0 UG 0 0 0 enp2s1 # 新增的路由信息
10.229.37.0 0.0.0.0 255.255.255.0 U 101 0 0 enp2s1
111.192.168.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
# 删除一条路由信息
[root@ceph-104 ~]# route del -net 10.229.37.0 netmask 255.255.255.0
[root@ceph-104 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.229.37.1 0.0.0.0 UG 101 0 0 enp2s1
10.229.37.0 0.0.0.0 255.255.255.0 U 101 0 0 enp2s1
111.192.168.0 0.0.0.0 255.255.255.0 U 100 0 0 enp2s3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
#添加到某网段的路由
设置永久路由的方法
-
- 在/etc/rc.local里添加
# 配置的路由信息
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254
-
- 在/etc/sysconfig/network里添加到末尾
GATEWAY=gw-ip` 或者 `GATEWAY=gw-dev
-
- /etc/sysconfig/static-router:
# 设置静态路由
any net x.x.x.x/24 gw y.y.y.y
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Nuri Alfred - Deertech
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果