补充 Linux 网络设置方法.
Signed-off-by: rick.chan <chen.yang@yuzhen-iot.com>
This commit is contained in:
parent
e86bf04a41
commit
39e3f417f2
|
@ -0,0 +1,65 @@
|
|||
# IPRoute2 说明
|
||||
|
||||
## Link 信息和设置
|
||||
|
||||
```bash
|
||||
# 显示链路
|
||||
ip link show
|
||||
# 仅显示 up 的链路
|
||||
ip link show up
|
||||
# 添加链路
|
||||
ip link add name <link name> type <bridge|bond|dummy|veth|vlan|vxlan>
|
||||
# 启动/停止链路
|
||||
ip link set <bridge name> <up/down>
|
||||
# 绑定
|
||||
ip link set <netif> master <bridge name>
|
||||
# 解绑
|
||||
ip link set <netif> nomaster
|
||||
# 删除链路
|
||||
ip link del name <bridge name> [type bridge]
|
||||
```
|
||||
|
||||
## IP 地址信息和设置
|
||||
|
||||
```bash
|
||||
# 显示地址(或ifconfig)
|
||||
ip addr show
|
||||
# 仅显示 up 设备的地址
|
||||
ip addr show up
|
||||
# 设定 IP 地址
|
||||
ip addr add <ip addr> dev <netif>
|
||||
# 删除 IP 地址
|
||||
ip addr del <ip addr> dev <netif>
|
||||
```
|
||||
|
||||
## 路由信息和设置
|
||||
|
||||
```bash
|
||||
# 显示路由(route -n)
|
||||
ip route show
|
||||
# 添加路由
|
||||
ip route add <ip addr> via <gateway>
|
||||
ip route add <ip addr> dev <netif>
|
||||
# 删除接口路由
|
||||
ip route del default dev <netif>
|
||||
# 查看本地静态路由
|
||||
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 <netif>
|
||||
```
|
||||
|
||||
## 其他
|
||||
|
||||
```bash
|
||||
# 显示缺省规则
|
||||
ip rule show
|
||||
```
|
|
@ -1,9 +1,19 @@
|
|||
# Route 命令
|
||||
|
||||
```bash
|
||||
# 添加
|
||||
route add default gw 192.168.56.1 dev eth0
|
||||
# 删除
|
||||
# 查看当前路由配置
|
||||
route -n
|
||||
|
||||
# 添加默认网关
|
||||
route add default dev <netif>
|
||||
route add default gw 192.168.56.1
|
||||
route add default gw 192.168.56.1 dev <netif>
|
||||
# 删除默认网关
|
||||
route del default
|
||||
route del default dev enp0s8
|
||||
route del default dev <netif>
|
||||
|
||||
# 设置
|
||||
route add -net <target ip> netmask <mask> [gw <gateway ip>] [metric <跃点信息>] dev <netif>
|
||||
# 删除
|
||||
route del -net <target ip> netmask <mask> [gw <gateway ip>] [metric <跃点信息>] dev <netif>
|
||||
```
|
||||
|
|
|
@ -1,12 +1,23 @@
|
|||
# Linux 网络配置
|
||||
|
||||
## 1. 路由表配置
|
||||
## 1. IP 配置
|
||||
|
||||
```bash
|
||||
# 查看网络设备和地址信息
|
||||
ip addr show
|
||||
# 设定 IP 地址
|
||||
ip addr add <ip addr> dev <netif>
|
||||
# 删除 IP 地址
|
||||
ip addr del <ip addr> dev <netif>
|
||||
```
|
||||
|
||||
## 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 <bridge name> type bridge
|
||||
ip link set <bridge name> up
|
||||
# 如果想通过网桥上网,则需要为网桥设定 IP 地址并重新设置默认路由
|
||||
ip addr add <ip addr> dev <bridge name>
|
||||
ip route del default
|
||||
ip route add default dev <bridge name>
|
||||
# To add an interface (e.g. eth0) into the bridge, its state must be up
|
||||
ip link set <eth interface> up
|
||||
ip link set <eth interface> master <bridge name>
|
||||
ip link set <netif> up
|
||||
ip link set <netif> master <bridge name>
|
||||
# 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 <eth interface> nomaster
|
||||
ip link delete <bridge name> type bridge
|
||||
# 解除网桥绑定
|
||||
ip link set <netif> nomaster
|
||||
# 删除网桥对应的路由
|
||||
ip route del default
|
||||
# 删除网桥
|
||||
ip link del name <bridge name> type bridge
|
||||
```
|
||||
|
||||
## 5. 内部参考关键字
|
||||
|
||||
1. IPRoute2
|
||||
|
|
Loading…
Reference in New Issue