From 39e3f417f2a30347b4846cf3218ca96e1993c0d7 Mon Sep 17 00:00:00 2001 From: "rick.chan" Date: Mon, 27 Dec 2021 14:51:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=20Linux=20=E7=BD=91=E7=BB=9C?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E6=96=B9=E6=B3=95.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rick.chan --- .../Applications/IPRoute2/IPRoute2_说明.md | 65 ++++++++++++++++++ Software/Applications/Route/Route_命令.md | 18 +++-- .../Linux/Modules/Network/Linux_网络配置.md | 67 +++++++++++++------ 3 files changed, 124 insertions(+), 26 deletions(-) create mode 100644 Software/Applications/IPRoute2/IPRoute2_说明.md diff --git a/Software/Applications/IPRoute2/IPRoute2_说明.md b/Software/Applications/IPRoute2/IPRoute2_说明.md new file mode 100644 index 0000000..26b1b68 --- /dev/null +++ b/Software/Applications/IPRoute2/IPRoute2_说明.md @@ -0,0 +1,65 @@ +# IPRoute2 说明 + +## Link 信息和设置 + +```bash +# 显示链路 +ip link show +# 仅显示 up 的链路 +ip link show up +# 添加链路 +ip link add name type +# 启动/停止链路 +ip link set +# 绑定 +ip link set master +# 解绑 +ip link set nomaster +# 删除链路 +ip link del name [type bridge] +``` + +## IP 地址信息和设置 + +```bash +# 显示地址(或ifconfig) +ip addr show +# 仅显示 up 设备的地址 +ip addr show up +# 设定 IP 地址 +ip addr add dev +# 删除 IP 地址 +ip addr del dev +``` + +## 路由信息和设置 + +```bash +# 显示路由(route -n) +ip route show +# 添加路由 +ip route add via +ip route add dev +# 删除接口路由 +ip route del default dev +# 查看本地静态路由 +ip route show table local +# 查看直连路由 +ip route show table main +``` + +## ARP + +```bash +# 显示 arp 表(ping 192.168.95.50,如果主机在同一局域网内,直接加到 arp 表) +ip neigh show +# 删除 arp 条目,条目仍然存在状态为 stale,下次通信需要确认 +ip neigh delete 192.168.95.50 dev +``` + +## 其他 + +```bash +# 显示缺省规则 +ip rule show +``` diff --git a/Software/Applications/Route/Route_命令.md b/Software/Applications/Route/Route_命令.md index 06c6052..247195d 100644 --- a/Software/Applications/Route/Route_命令.md +++ b/Software/Applications/Route/Route_命令.md @@ -1,9 +1,19 @@ # Route 命令 ```bash -# 添加 -route add default gw 192.168.56.1 dev eth0 -# 删除 +# 查看当前路由配置 +route -n + +# 添加默认网关 +route add default dev +route add default gw 192.168.56.1 +route add default gw 192.168.56.1 dev +# 删除默认网关 route del default -route del default dev enp0s8 +route del default dev + +# 设置 +route add -net netmask [gw ] [metric <跃点信息>] dev +# 删除 +route del -net netmask [gw ] [metric <跃点信息>] dev ``` diff --git a/Software/System/Linux/Modules/Network/Linux_网络配置.md b/Software/System/Linux/Modules/Network/Linux_网络配置.md index b9bd2c8..c95d610 100644 --- a/Software/System/Linux/Modules/Network/Linux_网络配置.md +++ b/Software/System/Linux/Modules/Network/Linux_网络配置.md @@ -1,12 +1,23 @@ # Linux 网络配置 -## 1. 路由表配置 +## 1. IP 配置 + +```bash +# 查看网络设备和地址信息 +ip addr show +# 设定 IP 地址 +ip addr add dev +# 删除 IP 地址 +ip addr del dev +``` + +## 2. 路由表配置 简单来说,路由器就是一个公交站台,公交站台上面有很多路公交。每条线路公交车又有很多站台(路由器),你就会选择最近的一条公交出行方案,当然啦,站牌上面的路线是会经常更新,更新的事,有当地部门更新。这就是路由。一台电脑主机有路由表,路由器也有路由表,一般来说,一台主机电脑如果只有一个网卡的话,应该会有最少两条路由信息,一条是公网路由,一条是局域网路由(它是不会经过路由器的路由表的,因为它走的是链路层,所以可以解析我们在局域网内传数据,速度是很快的)。 -### 1.1. Linux 内核的路由种类 +### 2.1. Linux 内核的路由种类 -#### 1.1.1. 主机路由 +#### 2.1.1. 主机路由 路由表中指向单个 IP 地址或主机名的路由记录,其 Flags 字段为 H。下面示例中,对于 10.0.0.10 这个主机,通过网关 10.139.128.1 网关路由: @@ -18,7 +29,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface ... ``` -#### 1.1.2. 网络路由 +#### 2.1.2. 网络路由 主机可以到达的网络。下面示例中,对于 10.0.0.0/24 这个网络,通过网关 10.139.128.1 网关路由: @@ -29,7 +40,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface 10.0.0.0 10.139.128.1 255.255.255.0 UG 0 0 0 eth0 ``` -#### 1.1.3. 默认路由 +#### 2.1.3. 默认路由 当目标主机的 IP 地址或网络不在路由表中时,数据包就被发送到默认路由(默认网关)上。默认路由的 Destination 是 default 或 0.0.0.0。 @@ -40,7 +51,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 0 0 0 eth0 ``` -### 1.2. Route 命令 +### 2.2. Route 命令 route 命令可以显示或设置 Linux 内核中的路由表,主要是静态路由。 @@ -66,11 +77,11 @@ route 命令可以显示或设置 Linux 内核中的路由表,主要是静态 * window:指定通过路由表的TCP连接的TCP窗口大小 * dev:路由记录所表示的网络接口 -#### 1.2.1. 添加路由 add +#### 2.2.1. 添加路由 add 可以添加一条可用路由,或添加一条要屏蔽的路由。 -##### 1.2.1.1. 添加主机路由 +##### 2.2.1.1. 添加主机路由 添加主机路由时,需要指定网络 ID 和主机 ID,此时需要设置 netmask 255.255.255.255: @@ -83,7 +94,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface ... ``` -##### 1.2.1.2. 添加网络路由 +##### 2.2.1.2. 添加网络路由 添加网络路由时,只需指定网络 ID,通过 netmask 设置掩码长度: @@ -96,7 +107,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface ... ``` -##### 1.2.1.3. 添加添加同一个局域网的主机 +##### 2.2.1.3. 添加添加同一个局域网的主机 不指定 gw 选项时,添加的路由记录不使用网关: @@ -109,7 +120,7 @@ Destination Gateway Genmask Flags Metric Ref Use Iface ... ``` -#### 1.2.2. 屏蔽路由 +#### 2.2.2. 屏蔽路由 ```bash [root@VM_139_74_centos ~]# route add -net 224.0.0.0 netmask 240.0.0.0 reject @@ -120,23 +131,23 @@ Destination Gateway Genmask Flags Metric Ref Use Iface ... ``` -#### 1.2.3. 删除路由记录 +#### 2.2.3. 删除路由记录 跟添加路由类似,可以删除一条可用路由,或删除一条屏蔽的路由。 -##### 1.2.3.1. 删除可用路由 +##### 2.2.3.1. 删除可用路由 ```bash route del -net 224.0.0.0 netmask 240.0.0.0 ``` -##### 1.2.3.2. 删除屏蔽的路由 +##### 2.2.3.2. 删除屏蔽的路由 ```bash route del -net 224.0.0.0 netmask 240.0.0.0 reject ``` -#### 1.2.4. 删除和添加设置默认网关 +#### 2.2.4. 删除和添加设置默认网关 添加或删除默认网关时,Linux 会自动检查网关的可用性: @@ -147,7 +158,7 @@ SIOCADDRT: Network is unreachable SIOCDELRT: No such process ``` -## 2. DNS 配置 +## 3. DNS 配置 /etc/resolv.conf 文件中包含了域名解析服务器配置信息,格式如下: @@ -163,20 +174,32 @@ sudo systemctl restart networking.service 一般而言,/etc/resolv.conf 文件是个软链接,其配置比较复杂,推荐使用 resolvconf 工具进行配置。 -## 桥接 +## 4. 桥接 ```bash +# 网桥设置 # Create a new bridge and change its state to up ip link add name type bridge ip link set up +# 如果想通过网桥上网,则需要为网桥设定 IP 地址并重新设置默认路由 +ip addr add dev +ip route del default +ip route add default dev # To add an interface (e.g. eth0) into the bridge, its state must be up -ip link set up -ip link set master +ip link set up +ip link set master # Show the existing bridges and associated interfaces bridge -d link # OR brctl show -# This is how to remove an interface from a bridge -ip link set nomaster -ip link delete type bridge +# 解除网桥绑定 +ip link set nomaster +# 删除网桥对应的路由 +ip route del default +# 删除网桥 +ip link del name type bridge ``` + +## 5. 内部参考关键字 + +1. IPRoute2