ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux 网卡的路由和网关

2022-08-25 23:32:50  阅读:199  来源: 互联网

标签:网关 0.0 route 192.168 网卡 add Linux 路由 eth0


网关:用于实现跨网段的设备之间通信。

路由器:

把不同网段的主机连起来(类似于送快递的快递员)。每个路由器负责把收到的数据报文传给下一个路由器,直到传送到最终的主机。

路由表:

用来实现路径选择的。和网络通信的主机都有路由表,并不是路由器里面才有路由表。

路由表的组成(关键):

  1. 目标网络:目标主机所在的网络id(网段)

  2. 子网掩码:确定主机所在的网络(和IP配套使用)

  3. 网关:下一个路由器的相邻接口

  4. 接口:数据从当前主机的那个接口发出去

默认路由:不知道的网络就通过默认路由来选择路径。

#注意:

网关:本机将数据包送到直连的路由器后,需要告诉它下一步走那一条路(下一个路由器相邻接口的地址)

直连网段的路由自动生成

route工具

添加路由

route add [-net|-host|default] target [netmask Nm] [gw GW] [[dev] If]

-net: 一个网段

-host:一台具体主机

default:默认路由

target:目标网络

netmask:子网掩码

gw:网关

dev:数据报文从本机发出去的数据接口
范例
#目标:192.168.1.3 网关:172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

#目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
route add -net 192.168.8.0/24 dev eth1 metric 200

#默认路由,网关:172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add -net 0.0.0.0/0 gw 172.16.0.1
route add default gw 172.16.0.1

#目标:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3

#目标:192.168.0.0 网关:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0

删除路由

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

#目标:192.168.1.3 网关:172.16.0.1
route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

#目标:192.168.0.0 网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
route add -net 192.168.8.0/24 dev eth1 metric 200

#默认路由,网关:172.16.0.1
route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
route add -net 0.0.0.0/0 gw 172.16.0.1
route add default gw 172.16.0.1

#目标:192.168.1.3 网关:172.16.0.1
route del -host 192.168.1.3

#目标:192.168.0.0 网关:172.16.0.1
route del -net 192.168.0.0 netmask 255.255.255.0
语法:
route [-f] [-p] [Command] [Destination] [mask Netmask] [Gateway] [metric Metric] [if Interface]
Command:指定想要进行的操作
add:添加路由
change:改变路由
delete:修改路由
print:显示路由

Destination:目标网段或者主机

mask Netmask:指定与网络目标地址相关联的子网掩码

Gateway:网关

metric Metric:为路由指定所需跃点数的整数值(范围是 1 ~ 9999),数值越小优先级越高

if Interface:指定目标可以到达的接口的接口。忽略 if 参数时,接口由网关地址确定

范例: 实现静态路由

image

地址搭建
A主机配置:
[root@Client ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.10
PREFIX=24
GATEWAY=10.0.0.200

[root@Client ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.200      0.0.0.0         UG    100    0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
#通过配置文件指定的默认路由,网关:10.0.0.200 目标地址:队医

R1配置:
[root@CentOS8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24

[root@CentOS8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 
TYPE=Ethernet
DEVICE=eth1
NAME=eth1
IPADDR=192.168.10.200
NETMASK=255.255.255.0
BOOTPROTO=none
ONBOOT=yes

R2:
[root@CentOS8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.201
PREFIX=24

[root@CentOS8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1 
TYPE=Ethernet
NAME=eth1
DEVICE=eth1
IPADDR=192.168.2.5
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
[root@CentOS8 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
DEVICE=eth0
NAME=eth0
IPADDR=192.168.2.6
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
GATEWAY=192.168.2.5
路由配置
A:已经通过配置ip地址的时候指定了默认的路由
C:同上

R1:
[root@CentOS8 ~]# route add -net 192.168.2.0/24 gw 192.168.10.201 dev eth1

[root@CentOS8 ~]# route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     102    0        0 eth0
192.168.2.0     192.168.10.201  255.255.255.0   UG    0      0        0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U     103    0        0 eth1

R2:
[root@CentOS8 ~]# route add -net 192.168.2.0/24 gw 192.168.10.200 dev eth0

[root@CentOS8 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        192.168.10.200  255.255.255.0   UG    0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     101    0        0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U     100    0        0 eth0

注意
  1. 直连路由会自动生成的

  2. 路由很关键,如果路由错误,即使处于同一网段的设备也无法通信。因为数据包的转发是靠路由来决定的

  3. 通过命令配置的路由都是临时生效的。永久保存需要写入配置文件。

ip工具

格式:ip [选项] 子命令 [子命令的一些选项]

#禁用网卡
ip link set eth1 down

#网卡改名
ip link set eth1 name wangnet

#启用网卡
ip link set wangnet up

#网卡别名 label
ip addr add 172.16.100.100/16 dev eth0 label eth0:0
ip addr del 172.16.100.100/16 dev eth0 label eth0:0

#清除网络地址
ip addr flush dev eth0
一个网卡多个ip地址的实现
ip addr add IP地址/mask dev 接口名 label 别名

例如:
[root@centos8 ~]#ip address add 10.0.0.18/24 dev eth0 label eth0:1
#修改ip地址
#先加新IP,再删除旧的IP
[root@centos8 ~]#ip address add 10.0.0.88/24 dev eth0
[root@centos8 ~]#ip address del 10.0.0.8/24 dev eth0
ip route管理路由
#添加路由:
ip route add TARGET via GW dev IFACE src SOURCE_IP
 TARGET:
 主机路由:IP
 网络路由:NETWORK/MASK
via:指定网关
dev:指定接口
src:源地址
 
#添加网关:
ip route add default via GW dev IFACE

#删除路由:
ip route del TARGET 

#显示路由:
ip route show|list

#清空路由表:
ip route flush [dev IFACE] [via PREFIX]
ip route add 192.168.0.0/24 via 172.16.0.1

ip route add 192.168.1.100 via 172.16.0.1

ip route add default via 172.16.0.1

ip route flush dev eth0
路由的配置文件

通过命令配置的路由是临时生效的,需要写入配置文件才能生效。

配置文件:/etc/sysconfig/network-scripts/route-接口名

#和ip地址的配置文件在同一个目录。

#格式:
目标网络的网络ID(CIDR表示法) via 网关 

例如:
10.0.0.0/24 via 10.0.0.1

标签:网关,0.0,route,192.168,网卡,add,Linux,路由,eth0
来源: https://www.cnblogs.com/heyongshen/p/16626149.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有