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

相关推荐
爱吃生蚝的于勒4 小时前
【Linux】深入理解进程(一)
java·linux·运维·服务器·数据结构·c++·蓝桥杯
heisd_14 小时前
使用搭载Ubuntu的树莓派开启热点
linux·运维·ubuntu
阿干tkl4 小时前
优麒麟(Ubuntu Kylin) 安装向日葵远程工具/ToDesk
linux·ubuntu·kylin
Goafan4 小时前
ubuntu20.04插入USB耳机无法识别
linux
Wins_calculator5 小时前
Fixed VLC snap on Ubuntu
linux·ubuntu·vlc·snap
偶尔贪玩的骑士5 小时前
Kioptrix Level 1渗透测试
linux·开发语言·网络安全·php
我命由我123455 小时前
Spring Cloud - Spring Cloud 微服务概述 (微服务的产生与特点、微服务的优缺点、微服务设计原则、微服务架构的核心组件)
java·运维·spring·spring cloud·微服务·架构·java-ee
楠木s5 小时前
ctfshow pwn44
linux·服务器·网络·安全·网络攻击模型·二进制
ajassi20005 小时前
开源 Linux 服务器与中间件(七)数据库--MySQL
linux·服务器·数据库·ubuntu·开源