linux如何查看路由表?

linux如何查看路由表?,第1张

使用 route 命令可以查看 Linux 内核路由表。

Route命令是用于 *** 作基于内核ip路由表,它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0。当使用"add"或者"del"参数时,路由表被修改,如果没有参数,则显示路由表当前的内容。

设置内核路由表的命令格式是:

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

扩展资料

route命令参数介绍:

-c 显示更多信息

-n 不解析名字

-v 显示详细的处理信息

-F 显示发送信息

-C 显示路由缓存

-f 清除所有网关入口的路由表。

-p 与 add 命令一起使用时使路由具有永久性。

1、查看本机路由信息

[root@Router ~]# ip route ls

192.168.70.0/24 dev eth0 proto kernel scope link src 192.168.70.70

192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.70

169.254.0.0/16 dev eth1 scope link

default via 192.168.1.1 dev eth0

2、确认是否需要改变默认路由

[root@Router ~]# ip route replace default via 192.168.70.254 dev eth0 table main

[root@Router ~]# ip route ls

192.168.70.0/24 dev eth0 proto kernel scope link src 192.168.70.70

192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.70

169.254.0.0/16 dev eth1 scope link

default via 192.168.1.1 dev eth0

3、建立特殊路由表

[root@Router ~]# vi /etc/iproute2/rt_tables

255 local

254 main

253 default

200 test

4、向test路由表中添加它自己的默认路由

[root@Router ~]# ip route add default via 192.168.1.1 table test

注意:这个table test一定不要忘了写,否则写到了主路由表中

5、先看看机器当前的ip rule

[root@Router ~]# ip rule ls

0: from all lookup local

32766: from all lookup main

32767: from all lookup default

可以看到,规则中走了3个路由表,local、main、default

我们平常用route看到的,实际是路由表main

这些规则是按序号大小顺序走的,一个不同,则走下一个,知道通路或走完为止

6、添加路由到路由表test中

[root@Router ~]# ip rule add to 59.76.0.0/16 pref 10000 table test

这个意思是说,去向IP地址范围为59.76.0.0/16的访问,则启用test的路由表中的路由规则

而test的路由规则是什么呢?上面已经设置了,走的是202.196.x.1的路由.

现在再来看一下当前的ip rule

[root@Router ~]# ip rule ls

0: from all lookup local

10000: from all to 59.76.0.0/16 lookup test

32766: from all lookup main

32767: from all lookup default

一、ifconfig

自ubuntu17起,已经不提供这个命令了,要自动安装

sudo apt install net-tools

ifconfig -a :查看当前系统所有的网络接口

ifconfig interface(PS:这里是网络接口的名称) down:禁用当前网络接口

ifconfig interface up :启用网络接口

二、ip命令

1、管理网络接口

1)、ip link list 显示网络设备的运行状态

2)、ip -s link list 显示更详细的网络设备运行状态

4)、ip link set dev ens33 mtu 1600: 改变网络设备最大传输单元 MTU的值为1600

2、管理ip地址

1)、ip a show dev ens33 显示指定网络接口的ip

2)、ip addr ls ens33

5)、ip -4 addr flush ens33

通过id修改的ip地址重启后会消失。如果要永久保存,则需要修改配置文件

3、管理路由表

1)、ip route show 显示main 路由表的路由信息

每行定义一个路由表,前面的数字为路由编号,后面为路由名称

以上的几个路由表为默认路由表,用户不可以修改

默认所有的路由表都会被插入到254的main表中。在进行路由查询时,内核只使用路由表main

3)、ip route show table local 指定显示路由表

4、管理策略路由

1)、ip route list 列出当前系统的策略路由规则

2、添加一条到达网络224.0.0.0/28的路由

route add -net 224.0.0.0/28 netmask 224.0.0.0 dev docker0

3、删除指定的路由记录224.0.0.0

route del -net 224.0.0.0 netmask 224.0.0.0

route -n 查看路由

5、删除默认网关

route del default gw 172.17.0.0 dev docker0

route -n

四、netstat命令

1、netstat(network status) 查看各种网络信息的,包括网络连接、路由表以及网络接口的各种统计数据

netstat [options]

常用的几个选项:

-a :显示所有处于活动状态的套接字

-t :显示TCP/IP协议的连接信息

-l:列出所有处于监听状态的套接字

-n:直接显示ip地址,不转换成域名

-i :列出所有的网络接口

-p:显示使用套接字的进程id和程序名

-r:显示路由表信息

2、netstat -a

显示所有的端口,包含未监听的和监听的

3、nestat -at

只显示TCP/IP协议的连接

4、netstat -tl

只显示处于监听状态的TCP连接

5、netstat -tlanx

显示数字形式的ip地址

6、netstat -anp | grep ":80"

排查处于某个端口被占用导致服务器无法启动

7、netstat -i

列出当前系统的所有网络接口

8、netstat -r

查看路由表信息

该命令是向某台主机( www.baidu.com )发送ICMP数据包,并接收响应

Ctrl+C退出ping 命令


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8469520.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存