Linux route

Linux route

在Linux系统中,route命令用于管理路由表。路由表决定了数据包如何从一个网络传送到另一个网络。以下是一些常用的route命令及其用途:

  1. route add:添加一个新的路由条目到路由表中。

    例如,要添加一个目标网络为192.168.1.0/24,下一跳为网关192.168.1.1的路由,可以使用以下命令:

    bash 复制代码
    route add -net 192.168.1.0/24 gw 192.168.1.1
    route add -net 192.168.10.0/24 gw 192.168.10.254
    route add -net 192.168.20.0/24 gw 0.0.0.0
    route add -net 192.168.0.0/20 gw 192.168.20.254
  2. route del:从路由表中删除一个路由条目。

    例如,要删除上面添加的路由,可以使用以下命令:

    bash 复制代码
    route del -net 192.168.1.0/24
    route del -net 192.168.10.0/24
    route del -net 192.168.0.0/24
  3. route show:显示当前的路由表。

    这个命令会列出系统当前的所有路由条目,包括目标网络、子网掩码、网关和接口等信息。

  4. route flush:清除路由表中的所有路由条目。

    这个命令会移除所有手动添加的路由条目,但不会影响默认的路由。

  5. route list:列出路由表中的路由条目。

    这个命令与route show类似,也会显示当前的路由表信息。

使用这些命令时,需要注意权限问题。某些命令可能需要root权限才能执行。

路由表的管理是网络配置中的重要部分,它直接影响到网络的通信效率和稳定性。在进行路由表的修改操作时,建议先了解当前网络的拓扑结构和路由策略,以免造成不必要的网络中断。

bash 复制代码
[root@localhost /]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 eno1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-afed0e6a1f15
192.168.0.0     0.0.0.0         255.255.240.0   U     0      0        0 br-76ecdb9337c6
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Linux到达某个ip的路由

bash 复制代码
[rushi@77 ~]$ traceroute 192.168.10.205
traceroute to 192.168.10.205 (192.168.10.205), 30 hops max, 60 byte packets
 1  gateway (192.168.20.254)  0.159 ms  0.164 ms  0.172 ms
 2  192.168.10.205 (192.168.10.205)  0.417 ms  0.402 ms  0.394 ms

ubuntu@master-133:~$ traceroute 192.168.20.202
traceroute to 192.168.20.202 (192.168.20.202), 30 hops max, 60 byte packets
 1  _gateway (192.168.10.254)  0.516 ms  0.455 ms  0.434 ms
 2  192.168.20.202 (192.168.20.202)  0.402 ms  0.371 ms  0.341 ms

在Linux系统中,要查看到达特定IP地址的路由,可以使用route命令结合gw选项。具体命令如下:

bash 复制代码
route -n get host [IP地址]

这里的[IP地址]是你想要查询到达的路由目标。例如,如果你想要查看到达IP地址192.168.1.10的路由,你应该执行:

bash 复制代码
route -n get host 192.168.1.10
route -n get host 192.168.20.202

-n选项用于输出数字表示的接口索引,而不是接口名称。get命令用于查询到达指定主机的路由。

执行这个命令后,你会看到一个输出,其中包含了目标IP地址、子网掩码、下一跳网关、输入接口和路由类型等信息。

请注意,这个命令只能告诉你数据包发送时所使用的路由。如果数据包有多个路径,这个命令只会显示默认的路由。如果你需要更详细的信息,可能需要使用其他工具,如traceroutemtr

在使用这些命令时,确保你有足够的权限,因为某些操作可能需要root权限。如果你没有权限,你可以使用sudo来执行命令。

欧拉服务器无线网与有线网冲突问题解决

1.查看路由

bash 复制代码
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 eno1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-afed0e6a1f15
192.168.0.0     0.0.0.0         255.255.240.0   U     0      0        0 br-76ecdb9337c6
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

br-76ecdb9337c6与eno1目标ip有冲突。

2.禁用br-76ecdb9337c6

bash 复制代码
[root@localhost ~]# ifconfig 
br-76ecdb9337c6: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.0.1  netmask 255.255.240.0  broadcast 192.168.15.255
        ether 02:42:e6:af:4c:b7  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

br-afed0e6a1f15: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.19.0.1  netmask 255.255.0.0  broadcast 172.19.255.255
        inet6 fe80::42:45ff:fe89:708a  prefixlen 64  scopeid 0x20<link>
        ether 02:42:45:89:70:8a  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:30:7a:05:08  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.20.55  netmask 255.255.255.0  broadcast 192.168.20.255
        inet6 fe80::1f9:f059:3a76:d89  prefixlen 64  scopeid 0x20<link>
        ether 4c:cc:6a:7d:d4:3f  txqueuelen 1000  (Ethernet)
        RX packets 22127  bytes 2111537 (2.0 MiB)
        RX errors 0  dropped 108  overruns 0  frame 0
        TX packets 5774  bytes 1405989 (1.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xdff00000-dff20000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 21885  bytes 78257079 (74.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21885  bytes 78257079 (74.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:48:f4:68  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wls3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 5e:67:7d:63:0b:13  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

禁用br-76ecdb9337c6

ifconfig br-76ecdb9337c6 down

3.禁用后的ipconfig、route

bash 复制代码
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 eno1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-afed0e6a1f15
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

[root@localhost ~]# ifconfig 
br-afed0e6a1f15: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.19.0.1  netmask 255.255.0.0  broadcast 172.19.255.255
        inet6 fe80::42:45ff:fe89:708a  prefixlen 64  scopeid 0x20<link>
        ether 02:42:45:89:70:8a  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:30:7a:05:08  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.20.55  netmask 255.255.255.0  broadcast 192.168.20.255
        inet6 fe80::1f9:f059:3a76:d89  prefixlen 64  scopeid 0x20<link>
        ether 4c:cc:6a:7d:d4:3f  txqueuelen 1000  (Ethernet)
        RX packets 24350  bytes 2323114 (2.2 MiB)
        RX errors 0  dropped 123  overruns 0  frame 0
        TX packets 6160  bytes 1507870 (1.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xdff00000-dff20000  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 21970  bytes 78287679 (74.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21970  bytes 78287679 (74.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:48:f4:68  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wls3: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 5e:67:7d:63:0b:13  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@localhost ~]# 

增加新的路由到eno1并添加到开机启动中

1.先查看服务器ip情况

bash 复制代码
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 4c:cc:6a:7d:d4:3f brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 192.168.20.55/24 brd 192.168.20.255 scope global dynamic noprefixroute eno1
       valid_lft 59950sec preferred_lft 59950sec
    inet6 fe80::1f9:f059:3a76:d89/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wls3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether ee:aa:31:11:eb:e8 brd ff:ff:ff:ff:ff:ff permaddr b8:81:98:dd:9f:e1
    altname wlp2s0
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:48:f4:68 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:48:f4:68 brd ff:ff:ff:ff:ff:ff
6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:6e:c2:0d:af brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
7: br-76ecdb9337c6: <BROADCAST,MULTICAST> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:23:bd:0c:e7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/20 brd 192.168.15.255 scope global br-76ecdb9337c6
       valid_lft forever preferred_lft forever
8: br-afed0e6a1f15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:7a:85:5d:69 brd ff:ff:ff:ff:ff:ff
    inet 172.19.0.1/16 brd 172.19.255.255 scope global br-afed0e6a1f15
       valid_lft forever preferred_lft forever
    inet6 fe80::42:7aff:fe85:5d69/64 scope link 
       valid_lft forever preferred_lft forever
10: vethf121953@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-afed0e6a1f15 state UP group default 
    link/ether 9e:e8:72:8f:78:c4 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::9ce8:72ff:fe8f:78c4/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost ~]# 
[root@localhost ~]# 

2.
[root@localhost ~]# route add -net 192.168.0.0/20 gw 192.168.20.254 dev eno1
[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         _gateway        0.0.0.0         UG    100    0        0 eno1
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-afed0e6a1f15
192.168.0.0     _gateway        255.255.240.0   UG    0      0        0 eno1
192.168.0.0     192.168.10.254  255.255.240.0   UG    0      0        0 br-76ecdb9337c6
192.168.0.0     0.0.0.0         255.255.240.0   U     0      0        0 br-76ecdb9337c6
192.168.20.0    0.0.0.0         255.255.255.0   U     100    0        0 eno1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0


[root@localhost NetworkManager]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     192.168.20.254  255.255.240.0   UG    0      0        0 eno1

network: version: 2 renderer: networkd ethernets: eno1: dhcp4: no routes: - to: 192.168.0.0/20 via: 192.168.20.254 metric: 100
bash 复制代码
ssh root@192.168.20.55

加入到开机启动的脚本

bash 复制代码
D:\work\test\route_add_linux.py

欧拉服务器中的路径:/home/service/route_add.py

相关推荐
大树887 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 小时前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush47 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5208 小时前
Linux 11 动态监控指令top
linux
Inhand陈工8 小时前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智9 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
不会C语言的男孩9 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_9 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
古城小栈9 小时前
Unix 与 Linux 异同小叙
linux·服务器·unix