08
2024
08
16:06:58

linux 内核路由表 U G H等含义

使用 route命令查看内核路由表 


可以看到flags下面有许多字母 组合,他们分别的含义是:


U (route is up):该路由是有效的;

H (target is a host):目标是一部主机 (IP) 而非网域;

G (use gateway):需要透过外部的主机 (gateway) 来转递封包(一般指向默认网关);

R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;

D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由

M (modified from routing daemon or redirect):路由已经被修改了;

! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)

————————————————


Linux下的route命令用于查看和配置系统的IP路由表,它可以显示当前网络的路由信息

在使用命令之前,先了解一下路由表中各字段的信息

Destination:表示目标地址

Gateway:表示网关

Genmask:是Destination的子网掩码

Flags:标记,U表示路由是活动,H表是目标地址是一个主机,G表示目标地址是一个网关,!表示拒接路由

Metric:路由距离到达指定网络要中转次数

Ref:路由项引用次数

Use:此路由项被查询的次数

Iface:此路由对应的网络接口

route命令

route 操作 目标地址的类型  目的地址 [子网掩码] 出口类型  网卡或网关

操作有: add(添加)、del(删除)

目标地址的类型:host(目的地址是主机)、net(目的地址是一个网络)

出口类型有:dev/gw

route [add | del ]   [host | net ] target [netmask Nm] [gw Gw] [dev If]

添加路由

添加host

route add -host 192.168.200.101 gw  192.168.200.1
#添加一个主机ip,当数据包的目标地址是192.168.200.101时,数据包将指向192.168.200.1

route add -host 192.168.200.102 dev eth0
#添加一个主机ip,当数据包的目标地址是192.168.200.102时,将从eth0接口流出

mpty-paragraph" style="margin-top: -0.8em; margin-bottom: -0.8em; color: rgb(25, 27, 31); font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; font-size: medium; text-wrap: wrap; background-color: rgb(255, 255, 255);">

添加net

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.0.1
#添加网路路由,当数据包的目的地址是192.168.1.0时,将数据包转发到192.168.0.1的网关上

route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
#添加网路路由,当数据包的目的地址是192.168.1.0时,将数据包转发到eth0网卡上

#注意,当目标地址是一个网络时要指定子网掩码(netmask)


删除路由

route del -host 192.168.200.101 gw 192.168.200.1

route del -net 192.168.1.0 netmask 255.255.255.0 dev eth0


查看路由表

route -n

ip指令的使用

配置网络接口

ip link

#显示网络接口信息
ip link show 

#启用网卡
ip link set eth0 up

#关闭网卡
ip link set eth0 down

#开启网卡的混合模式,对所用经过该网卡的数据包都处理
ip link set eth0 promisc on 


#关闭混合模式
ip link set eth0 promisc offi

# 设置网卡队列长度
ip link set eth0 txqueuelen 1200 

# 设置网卡最大传输单元
ip link set eth0 mtu 1400

配置 IP 地址

ip addr

# 显示网卡IP信息 
ip addr show 

#设置网卡对应的ip,设置eth0的ip为192.168.0.1
ip addr add 192.168.0.1/24 dev eth0

#删除网卡的ip,删除eth0对应的192.168.0.1的ip
ip addr del 192.168.0.1/24 dev eth0

配置路由表项

ip route

#查看路由
ip route show

#添加路由
ip route add 目标地址/子网掩码 via 网关 
#或
ip route add 目标地址/子网掩码 dev 接口

#例如
#通过指定网关via
ip route add 192.168.200.146/24 via 192.168.200.1
#或
ip route add 192.168.200.146/255.255.255.0 via 192.168.200.1


#指定接口dev
ip route add 192.168.200.147/24 dev eth0
#或
ip route add 192.168.200.147/255.255.255.0 dev eth0
#----------------------------------------------------------------------------------------------------------

#删除路由
ip route del 目标地址/子网掩码 via 网关 
#或
ip route del 目标地址/子网掩码 dev 接口

ip route del 192.168.200.147/24 via 192.168.200.1
ip route del 192.168.200.147/24  dev eth0


#-----------------------------------------------------------------------------------------------------------

#修改路由change
ip route change 目标地址/子网掩码 [via | dev ] [修改成的网卡或 网关]

ip route change 192.168.200.147 via 192.168.200.2

#----------------------------------------------------------------------------

netstat命令的使用(会话层)

参数

"-a":显示所有连接和监听端口。

"-t":只显示TCP连接。

"-u":只显示UDP连接。

"-n":使用数字形式的地址和端口号。

"-p":显示每个连接的进程ID和名称。

"-l":仅显示正在监听的连接。

#查看正在监听的tcp进程
netstat -ltp


traceroute 路由追踪

traceroute  <目标主机名 | IP >

-I使用ICMP包来探测
traceroute -I www.baidu.com




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/7480.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: