diff --git a/docs/en/docs/Administration/basic-configuration.md b/docs/en/docs/Administration/basic-configuration.md index 226cd5c39945547ec73126f9e1be1c59846eb880..de28fad68dd48d6e27e011c739ad2a9ddbbda76a 100644 --- a/docs/en/docs/Administration/basic-configuration.md +++ b/docs/en/docs/Administration/basic-configuration.md @@ -33,6 +33,7 @@ - [Disabling Network Drivers](#disabling-network-drivers) + ## Setting the System Locale System locale settings are stored in the **/etc/locale.conf** file and can be modified by the **localectl** command. These settings are read at system boot by the systemd daemon. @@ -207,13 +208,13 @@ timedatectl set-time '2019-08-14' > Before changing the time, ensure that automatic NTP system clock synchronization has been disabled. Run the following command to check whether the NTP service is running: ```shell -systemctl status ntp +systemctl status ntpd ``` Run the following command to disable the NTP service: ```shell -systemctl disable ntp +systemctl disable ntpd ``` To change the current time, run the following command as the **root** user. In the command, _HH_ indicates the hour, _MM_ indicates the minute, and _SS_ indicates the second. Change them as required. diff --git a/docs/en/docs/Virtualization/Skylark.md b/docs/en/docs/Virtualization/Skylark.md index 1de2ad58f78138ddc61d83eca5fbc050569fc6fc..3766efd312afacc4ae38ca15ebcc5eb50dde6760 100644 --- a/docs/en/docs/Virtualization/Skylark.md +++ b/docs/en/docs/Virtualization/Skylark.md @@ -125,7 +125,7 @@ After the Skylark component is installed, you can modify the configuration file ### LLC/MB Interference Control -Skylark's interference control on LLC/MB depends on the RDT/MPAM function provided by hardware. For Intel x86_64 processors, **rdt=cmt,mbmtotal,mbmlocal,l3cat,mba** needs to be added to kernel command line parameters. For Kunpeng920 processors, **mpam=acpi** needs to be added to kernel command line parameters. +Skylark's interference control on LLC/MB depends on the RDT/MPAM function provided by hardware. For Intel x86_64 processors, **rdt=cmt,mbmtotal,mbmlocal,l3cat,mba** needs to be added to kernel command line parameters. For Kunpeng 920 processors, **mpam=acpi** needs to be added to kernel command line parameters. - **MIN_LLC_WAYS_LOW_VMS** is an integer used to control the number of LLC ways that can be accessed by low-priority VMs. The value ranges from 1 to 3, with the default value being 2. During initialization, Skylark limits the numfer of accessible LLC ways for low-priority VMs to this value. @@ -192,4 +192,4 @@ Skylark detects VM creation events, manages VMs of different priorities, and per To ensure optimal performance of high-priority VMs, you are advised to bind each vCPU of high-priority VMs to a physical CPU. To enable low-priority VMs to make full use of idle physical resources, you are advised to bind vCPUs of low-priority VMs to CPUs that are bound to high-priority VMs. -To ensure that low-priority VMs are scheduled when high-priority VMs occupy CPU resources for a long time, you are advised to reserve a small number of for low-priority VMs. \ No newline at end of file +To ensure that low-priority VMs are scheduled when high-priority VMs occupy CPU resources for a long time, you are advised to reserve a small number of for low-priority VMs. diff --git a/docs/en/docs/Virtualization/managing-devices.md b/docs/en/docs/Virtualization/managing-devices.md index e45bbe0894a4b92ba11ae8ed0ac1de09220314f4..9d39d46ef2fc664014e4cfda350af49b61cf7160 100644 --- a/docs/en/docs/Virtualization/managing-devices.md +++ b/docs/en/docs/Virtualization/managing-devices.md @@ -456,14 +456,14 @@ To configure SR-IOV passthrough for a NIC, perform the following steps: >Disabling the SR-IOV function: >To disable the SR-IOV function after the VM is stopped and no VF is in use, run the following command: >The following uses the Hi1822 NIC (corresponding network interface name: eth0) as an example: -> + > >```shell >echo 0 > /sys/class/net/eth0/device/sriov_numvfs >``` #### SR-IOV Passthrough for the HPRE Accelerator -The accelerator engine is a hardware acceleration solution provided by TaiShan 200 server based on the Kunpeng 920 processor. The HPRE accelerator is used to accelerate SSL/TLS applications. It significantly reduces processor consumption and improves processor efficiency. +The accelerator engine is a hardware acceleration solution provided by TaiShan 200 servers. The HPRE accelerator is used to accelerate SSL/TLS applications. It significantly reduces processor consumption and improves processor efficiency. On the Kunpeng server, the VF of the HPRE accelerator on the host needs to be passed through to the VM for internal services of the VM. **Table 3** HPRE accelerator description diff --git "a/docs/zh/docs/A-Ops/AOps\351\203\250\347\275\262\346\214\207\345\215\227.md" "b/docs/zh/docs/A-Ops/AOps\351\203\250\347\275\262\346\214\207\345\215\227.md" index a108ef21ec6ed00a29d3e1851c58d72695e8e3f5..d3d9f548f9109c86702faaa7947aca0c9e9a3d91 100644 --- "a/docs/zh/docs/A-Ops/AOps\351\203\250\347\275\262\346\214\207\345\215\227.md" +++ "b/docs/zh/docs/A-Ops/AOps\351\203\250\347\275\262\346\214\207\345\215\227.md" @@ -19,10 +19,10 @@ A-Ops是用于提升主机整体安全性的服务,通过资产管理、漏洞 建议采用4台openEuler 22.03-LTS-SP3 机器部署,其中3台用于配置服务端,1台用于纳管(aops服务纳管的主机),**且repo中需要配置update源**([FAQ:配置update源](#Q6、配置update源)),具体用途以及部署方案如下: -+ 机器A:部署mysql、redis、elasticsearch等,主要提供数据服务支持,建议内存8G+。 -+ 机器B:部署A-Ops的资产管理zeus服务+前端展示服务,提供完整的业务功能支持,建议内存6G+。 -+ 机器C:部署A-Ops的漏洞管理配置溯源(gala-ragdoll),提供漏洞管理服务,建议内存4G+。 -+ 机器D:部署A-Ops的客户端,用作一个被AOps服务纳管监控的主机(需要监管的机器中都可以安装aops-ceres)。 +- 机器A:部署mysql、redis、elasticsearch等,主要提供数据服务支持,建议内存8G+。 +- 机器B:部署A-Ops的资产管理zeus服务+前端展示服务,提供完整的业务功能支持,建议内存6G+。 +- 机器C:部署A-Ops的漏洞管理配置溯源(gala-ragdoll),提供漏洞管理服务,建议内存4G+。 +- 机器D:部署A-Ops的客户端,用作一个被AOps服务纳管监控的主机(需要监管的机器中都可以安装aops-ceres)。 | 机器编号 | 配置IP | 部署模块 | | -------- | ----------- | ------------------------------------- | @@ -53,7 +53,8 @@ SELINUX=disabled # 更改之后,按下ESC键,键盘中输入 :wq 保存修改的内容 ``` -注:此SELINUX状态配置在系统重启后生效。 + +注意:此SELINUX状态配置在系统重启后生效。 # 三、服务端部署 @@ -211,13 +212,13 @@ systemctl start prometheus - 安装aops-zeus -``` +```shell yum install aops-zeus -y ``` - 修改配置文件 -``` +```shell vim /etc/aops/zeus.ini ``` @@ -233,8 +234,8 @@ wsgi-file=manage.py daemonize=/var/log/aops/uwsgi/zeus.log http-timeout=600 harakiri=600 -processes=2 // 生成指定数目的worker/进程 -gevent=100 // gevent异步核数 +processes=2 // 生成指定数目的worker/进程 +gevent=100 // gevent异步核数 [mysql] ip=192.168.1.1 // 此处ip修改为机器A真实ip @@ -252,7 +253,7 @@ ip=192.168.1.1 // 此处ip修改为机器A真实ip port=6379 [apollo] -ip=192.168.1.3 // 此处ip修改为部署apollo服务的真实ip(建议apollo与zeus分开部署)。若不使用apollo的漏洞管理功能则可以不配置 +ip=192.168.1.2 // 此处ip修改为部署apollo服务的真实ip(建议apollo与zeus分开部署)。若不使用apollo的漏洞管理功能则可以不配置 port=11116 ``` @@ -309,7 +310,7 @@ vim /etc/nginx/aops-nginx.conf rewrite ^(.*)$ /index.html last; } } - # 此处修改为aops-zeus部署机器真实IP + # 此处修改为aops-zeus部署机器真实IP location /api/ { proxy_pass http://192.168.1.2:11111/; } @@ -318,7 +319,7 @@ vim /etc/nginx/aops-nginx.conf proxy_pass http://192.168.1.3:11114/; rewrite ^/api/(.*) /$1 break; } - # 此处IP对应aops-apollo的IP地址 + # 此处IP对应aops-apollo的IP地址 location /api/vulnerability { proxy_pass http://192.168.1.3:11116/; rewrite ^/api/(.*) /$1 break; @@ -433,7 +434,7 @@ yum install aops-apollo -y - 修改配置文件 -``` +```shell vim /etc/aops/apollo.ini ``` @@ -447,13 +448,13 @@ host_vault_dir=/opt/aops host_vars=/opt/aops/host_vars [zeus] -ip=192.168.1.2 //此处修改为机器B的真实IP +ip=192.168.1.2 //此处修改为机器B的真实IP port=11111 # hermes info is used to send mail. [hermes] -ip=192.168.1.2 //此处修改为部署aops-hermes的真实IP,以机器B的IP地址为例 -port=80 //此处改为hermes服务实际使用端口 +ip=192.168.1.2 //此处修改为部署aops-hermes的真实IP,以机器B的IP地址为例 +port=80 //此处改为hermes服务实际使用端口 [cve] cve_fix_function=yum @@ -486,6 +487,7 @@ processes=2 gevent=100 ``` + > **mysql数据库设置为密码模式**,请参阅[密码模式下mysql服务配置链接字符串](#Q5、mysql设置为密码模式) - 启动aops-apollo服务 @@ -541,7 +543,7 @@ yum install gala-ragdoll python3-gala-ragdoll -y vim /etc/ragdoll/gala-ragdoll.conf ``` -> **将collect节点collect_address中IP地址修改为机器B的地址,collect_api与collect_port修改为实际接口地址** +> **将collect节点collect_address中IP地址修改为机器B的地址,collect_api与collect_port修改为实际接口地址** ```ini [git] @@ -658,7 +660,7 @@ yum install aops-diana -y - 修改配置文件 - > 机器B与机器C中aops-diana分别扮演不同的角色,通过**配置文件的差异来区分两者扮演角色的不同** + > 机器B与机器C中aops-diana分别扮演不同的角色,通过**配置文件的差异来区分两者扮演角色的不同** ```shell vim /etc/aops/diana.ini @@ -851,23 +853,23 @@ yum install aops-ceres dnf-hotpatch-plugin -y ## FAQ -#### Q1、最大连接数(MaxStartups) +### Q1、最大连接数(MaxStartups) 批量添加主机接口服务执行过程中会受到aops-zeus安装所在主机sshd服务配置中最大连接数(MaxStartups)的限制,会出现部分主机不能连接的情况,如有大量添加主机的需求,可考虑临时调增该数值。关于该配置项的修改可参考[ssh文档](https://www.man7.org/linux/man-pages/man5/sshd_config.5.html)。 -#### Q2、504网关超时 +### Q2、504网关超时 部分http访问接口执行时间较长,web端可能返回504错误,可向nginx配置中添加proxy_read_timeout配置项,并适当调大该数值,可降低504问题出现概率。 -#### Q3、防火墙 +### Q3、防火墙 若防火墙不方便关闭,请设置放行服务部署过程涉及的所有接口,否则会造成服务不可访问,影响A-Ops的正常使用。 -#### Q4、elasticasearch访问拒绝 +### Q4、elasticasearch访问拒绝 elasticsearch分布式部署多节点时,需调整配置跨域部分,允许各节点访问。 -#### Q5、mysql设置为密码模式 +### Q5、mysql设置为密码模式 - **服务配置mysql链接字符串** @@ -912,7 +914,7 @@ connect = pymysql.connect(host='$mysql_ip', port=$port, database='$aops_database **注意:当服务器不是以root用户登录时,需添加user="root"或mysql允许链接的用户名** -#### Q6、配置update源 +### Q6、配置update源 ```shell echo "[update] @@ -929,7 +931,7 @@ gpgcheck=0" > /etc/yum.repos.d/openEuler-update.repo > 注意: 其中**openEuler-22.03-LTS-SP3** 根据部署的系统版本具体调整,或可直接参与openeuler官网中针对repo源配置介绍 -#### Q7、/opt/aops/scripts/deploy目录不存在 +### Q7、/opt/aops/scripts/deploy目录不存在 在执行数据库初始化时,提示不存在**/opt/aops/scripts/deploy**文件目录,执行安装aops-tools工具包 diff --git "a/docs/zh/docs/Administration/\351\205\215\347\275\256\347\275\221\347\273\234.md" "b/docs/zh/docs/Administration/\351\205\215\347\275\256\347\275\221\347\273\234.md" index 1f3b993d7e80166355236e0005df20b2863a021a..369e42e52195851605065cb496698e152aade3ec 100644 --- "a/docs/zh/docs/Administration/\351\205\215\347\275\256\347\275\221\347\273\234.md" +++ "b/docs/zh/docs/Administration/\351\205\215\347\275\256\347\275\221\347\273\234.md" @@ -1,4 +1,5 @@ # 配置网络 + - [配置网络](#配置网络) @@ -20,91 +21,85 @@ - ## 配置 IP - ### 使用nmcli命令 >![](./public_sys-resources/icon-note.gif) **说明:** >使用nmcli命令配置的网络配置可以立即生效且系统重启后配置也不会丢失。 - - #### nmcli介绍 nmcli是NetworkManager的一个命令行工具,它提供了使用命令行配置由NetworkManager管理网络连接的方法。nmcli命令的基本格式为: -``` +```shell nmcli [OPTIONS] OBJECT { COMMAND | help } ``` 其中,OBJECT选项可以是general、networking、radio、connection或device等。在日常使用中,最常使用的是-t, \-\-terse(用于脚本)、-p, \-\-pretty选项(用于用户)及-h, \-\-help选项,用户可以使用“ nmcli help”获取更多参数及使用信息。 -``` +```shell $ nmcli help ``` 常用命令使用举例如下: -- 显示NetworkManager状态: +- 显示NetworkManager状态: - ``` + ```shell $ nmcli general status ``` -- 显示所有连接: +- 显示所有连接: - ``` + ```shell $ nmcli connection show ``` -- 只显示当前活动连接,如下所示添加 -a, \-\-active: +- 只显示当前活动连接,如下所示添加 -a, \-\-active: - ``` + ```shell $ nmcli connection show --active ``` -- 显示由NetworkManager识别到的设备及其状态: +- 显示由NetworkManager识别到的设备及其状态: - ``` + ```shell $ nmcli device status ``` -- 使用nmcli工具启动和停止网络接口,在root权限下执行如下命令: +- 使用nmcli工具启动和停止网络接口,在root权限下执行如下命令: - ``` + ```shell # nmcli connection up id enp3s0 # nmcli device disconnect enp3s0 ``` - #### 设备管理 ##### 连接到设备 使用如下命令,NetworkManager将连接到对应网络设备,尝试找到合适的连接配置,并激活配置。 -``` +```shell # nmcli device connect "$IFNAME" ``` + >如果不存在相应的配置连接,NetworkManager将创建并激活具有默认设置的新配置文件。 ##### 断开设备连接 使用如下命令,NetworkManager将断开设备连接,并防止设备自动激活。 - -``` +```shell # nmcli device disconnect "$IFNAME" ``` - #### 设置网络连接 列出目前可用的网络连接: -``` +```shell $ nmcli con show @@ -119,7 +114,7 @@ virbr0 ba552da6-f014-49e3-91fa-ec9c388864fa bridge virbr0 添加一个网络连接会生成相应的配置文件,并与相应的设备关联。检查可用的设备,方法如下: -``` +```shell $ nmcli dev status DEVICE TYPE STATE CONNECTION @@ -130,20 +125,19 @@ lo loopback unmanaged -- virbr0-nic tun unmanaged -- ``` - ##### 配置动态IP连接 ###### 配置IP 要使用 DHCP 分配网络时,可以使用动态IP配置添加网络配置文件,命令格式如下: -``` +```shell nmcli connection add type ethernet con-name connection-name ifname interface-name ``` 例如创建名为net-test的动态连接配置文件,在root权限下使用以下命令: -``` +```shell # nmcli connection add type ethernet con-name net-test ifname enp3s0 Connection 'net-test' (a771baa0-5064-4296-ac40-5dc8973967ab) successfully added. ``` @@ -154,14 +148,14 @@ NetworkManager 会将参数 connection.autoconnect 设定为 yes,并将设置 在root权限下使用以下命令激活网络连接: -``` +```shell # nmcli con up net-test Connection successfully activated (D-Bus active path:/org/freedesktop/NetworkManager/ActiveConnection/5) ``` 检查这些设备及连接的状态,使用以下命令: -``` +```shell $ nmcli device status DEVICE TYPE STATE CONNECTION @@ -178,7 +172,7 @@ virbr0-nic tun unmanaged -- 添加静态 IPv4 配置的网络连接,可使用以下命令: -``` +```shell nmcli connection add type ethernet con-name connection-name ifname interface-name ip4 address gw4 address ``` @@ -187,13 +181,13 @@ nmcli connection add type ethernet con-name connection-name ifname interface-nam 例如创建名为 net-static的静态连接配置文件,在root权限下使用以下命令: -``` +```shell # nmcli con add type ethernet con-name net-static ifname enp3s0 ip4 192.168.0.10/24 gw4 192.168.0.254 ``` 还可为该设备同时指定 IPv6 地址和网关,示例如下: -``` +```shell # nmcli con add type ethernet con-name test-lab ifname enp3s0 ip4 192.168.0.10/24 gw4 192.168.0.254 ip6 abbe::**** gw6 2001:***::* Connection 'net-static' (63aa2036-8665-f54d-9a92-c3035bad03f7) successfully added. ``` @@ -202,13 +196,13 @@ NetworkManager 会将其内部参数 ipv4.method 设定为 manual,将 connecti 设定两个 IPv4 DNS 服务器地址,在root权限下使用以下命令: -``` +```shell # nmcli con mod net-static ipv4.dns "*.*.*.* *.*.*.*" ``` 设置两个 IPv6 DNS 服务器地址,在root权限下使用以下命令: -``` +```shell # nmcli con mod net-static ipv6.dns "2001:4860:4860::**** 2001:4860:4860::****" ``` @@ -216,14 +210,14 @@ NetworkManager 会将其内部参数 ipv4.method 设定为 manual,将 connecti 激活新的网络连接,在root权限下使用以下命令: -``` +```shell # nmcli con up net-static ifname enp3s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6) ``` 检查这些设备及连接的状态,使用以下命令: -``` +```shell $ nmcli device status DEVICE TYPE STATE CONNECTION @@ -236,7 +230,7 @@ virbr0-nic tun unmanaged -- 查看配置的连接详情,使用以下命令(使用 -p, \-\-pretty 选项在输出结果中添加标题和分段): -``` +```shell $ nmcli -p con show net-static =============================================================================== Connection profile details (net-static ) @@ -274,70 +268,71 @@ connection.llmnr: -1 (default) 连接到由SSID或BSSID指定的wifi网络。命令如下,该命令找到匹配的连接或创建一个连接,然后在设备上激活它。 -``` +```shell $ nmcli device wifi connect "$SSID" password "$PASSWORD" ifname "$IFNAME" $ nmcli --ask device wifi connect "$SSID" ``` **方法2,通过配置文件连接Wi-Fi** -1,使用以下命令查看可用 Wi-Fi 访问点: +1. 使用以下命令查看可用 Wi-Fi 访问点: -``` -$ nmcli dev wifi list -``` -2,使用以下命令生成使用的静态 IP 配置,但允许自动 DNS 地址分配的 Wi-Fi 连接: + ```shell + $ nmcli dev wifi list + ``` -``` -$ nmcli con add con-name Wifi ifname wlan0 type wifi ssid MyWifi ip4 192.168.100.101/24 gw4 192.168.100.1 -``` -3,请使用以下命令设定 WPA2 密码,例如 “answer”: +2. 使用以下命令生成使用的静态 IP 配置,但允许自动 DNS 地址分配的 Wi-Fi 连接: -``` -$ nmcli con modify Wifi wifi-sec.key-mgmt wpa-psk -$ nmcli con modify Wifi wifi-sec.psk answer -``` -4,使用以下命令更改 Wi-Fi 状态: + ```shell + $ nmcli con add con-name Wifi ifname wlan0 type wifi ssid MyWifi ip4 192.168.100.101/24 gw4 192.168.100.1 + ``` -``` -$ nmcli radio wifi [ on | off ] -``` +3. 请使用以下命令设定 WPA2 密码,例如 “answer”: + + ```shell + $ nmcli con modify Wifi wifi-sec.key-mgmt wpa-psk + $ nmcli con modify Wifi wifi-sec.psk answer + ``` + +4. 使用以下命令更改 Wi-Fi 状态: + ```shell + $ nmcli radio wifi [ on | off ] + ``` ##### 更改属性 请使用以下命令检查具体属性,比如 mtu: -``` +```shell $ nmcli connection show id 'Wifi ' | grep mtu 802-11-wireless.mtu: auto ``` 使用如下命令更改设置的属性: -``` +```shell $ nmcli connection modify id 'Wifi ' 802-11-wireless.mtu 1350 ``` 使用如下命令确认更改: -``` +```shell $ nmcli connection show id 'Wifi ' | grep mtu 802-11-wireless.mtu: 1350 ``` #### 配置静态路由 -- 使用nmcli命令为网络连接配置静态路由,使用命令如下: +- 使用nmcli命令为网络连接配置静态路由,使用命令如下: - ``` + ```shell $ nmcli connection modify enp3s0 +ipv4.routes "192.168.122.0/24 10.10.10.1" ``` +- 使用编辑器配置静态路由,使用如下命令: -- 使用编辑器配置静态路由,使用如下命令: - - ``` + ```shell $ nmcli con edit type ethernet con-name enp3s0 ===| nmcli interactive connection editor |=== Adding a new '802-3-ethernet' connection @@ -353,32 +348,30 @@ $ nmcli connection show id 'Wifi ' | grep mtu nmcli> quit ``` - ### 使用ip命令 >![](./public_sys-resources/icon-note.gif) **说明:** >使用ip命令配置的网络配置可以立即生效但系统重启后配置会丢失。 - - #### 配置IP地址 使用ip命令为接口配置地址,命令格式如下,其中 _interface-name_ 为网络接口名。 -``` +```shell ip addr [ add | del ] address dev interface-name ``` ##### 配置静态地址 + 在root权限下,配置静态IP地址,使用示例如下: -``` +```shell # ip address add 192.168.0.10/24 dev enp3s0 ``` 查看配置结果,在root权限使用如下命令: -``` +```shell # ip addr show dev enp3s0 2: enp3s0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 52:54:00:aa:ad:4a brd ff:ff:ff:ff:ff:ff @@ -391,9 +384,10 @@ ip addr [ add | del ] address dev interface-name ``` ##### 配置多个地址 + ip 命令支持为同一接口分配多个地址,可在root权限下重复多次使用 ip 命令实现分配多个地址。使用示例如下: -``` +```shell # ip address add 192.168.2.223/24 dev enp4s0 # ip address add 192.168.4.223/24 dev enp4s0 # ip addr @@ -414,13 +408,13 @@ ip 命令支持为同一接口分配多个地址,可在root权限下重复多 如果需要静态路由,可使用 ip route add 命令在路由表中添加,使用 ip route del 命令删除。最常使用的 ip route 命令格式如下: -``` +```shell ip route [ add | del | change | append | replace ] destination-address ``` 在root权限下使用 ip route 命令显示当前的 IP 路由表。示例如下: -``` +```shell # ip route default via 192.168.0.1 dev enp3s0 proto dhcp metric 100 @@ -432,7 +426,7 @@ default via 192.168.0.1 dev enp4s0 proto dhcp metric 101 在主机地址中添加一个静态路由,在 root 权限下,使用以下命令格式: -``` +```shell ip route add 192.168.2.1 via 10.0.0.1 [dev interface-name] ``` @@ -440,7 +434,7 @@ ip route add 192.168.2.1 via 10.0.0.1 [dev interface-name] 要在网络中添加一个静态路由,即代表 IP 地址范围的 IP 地址,请在root权限下运行以下命令格式: -``` +```shell ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name] ``` @@ -455,7 +449,7 @@ ip route add 192.168.2.0/24 via 10.0.0.1 [dev interface-name] 以enp4s0网络接口进行静态网络设置为例,通过在root权限下修改ifcfg文件实现,在/etc/sysconfig/network-scripts/目录中生成名为ifcfg-enp4s0的文件中,修改参数配置,示例如下: -``` +```text TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no @@ -480,7 +474,7 @@ ONBOOT=yes 要通过ifcfg文件为em1接口配置动态网络,请按照如下操作在/etc/sysconfig/network-scripts/目录中生成名为 ifcfg-em1 的文件,示例如下: -``` +```text DEVICE=em1 BOOTPROTO=dhcp ONBOOT=yes @@ -488,19 +482,19 @@ ONBOOT=yes 要配置一个向DHCP服务器发送不同的主机名的接口,请在ifcfg文件中新增一行内容,如下所示: -``` +```text DHCP_HOSTNAME=hostname ``` 要配置忽略由DHCP服务器发送的路由,防止网络服务使用从DHCP服务器接收的DNS服务器更新/etc/resolv.conf。请在ifcfg文件中新增一行内容,如下所示: -``` +```text PEERDNS=no ``` 要配置一个接口使用具体DNS服务器,请将参数PEERDNS=no,并在ifcfg文件中添加以下行: -``` +```text DNS1=ip-address DNS2=ip-address ``` @@ -515,24 +509,24 @@ DNS2=ip-address ## 配置主机名 - ### 简介 hostname有三种类型:static、transient和pretty。 -- static:静态主机名,可由用户自行设置,并保存在/etc/hostname 文件中。 -- transient:动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost”。可由DHCP或mDNS在运行时更改。 -- pretty:灵活主机名,允许使用自由形式(包括特殊/空白字符)进行设置。静态/动态主机名遵从域名的通用限制。 +- static:静态主机名,可由用户自行设置,并保存在/etc/hostname 文件中。 +- transient:动态主机名,由内核维护,初始是 static 主机名,默认值为“localhost”。可由DHCP或mDNS在运行时更改。 +- pretty:灵活主机名,允许使用自由形式(包括特殊/空白字符)进行设置。静态/动态主机名遵从域名的通用限制。 >![](./public_sys-resources/icon-note.gif) **说明:** ->static和transient主机名只能包含a-z、A-Z、0-9、“-”、“\_”和“.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。 +>static和transient主机名只能包含a-z、A-Z、0-9、“-”、“\_”或“.”,不能在开头或结尾处使用句点,不允许使用两个相连的句点,大小限制为 64 个字符。 ### 使用hostnamectl配置主机名 #### 查看所有主机名 + 查看当前的主机名,使用如下命令: -``` +```shell $ hostnamectl status ``` @@ -540,16 +534,18 @@ $ hostnamectl status >如果命令未指定任何选项,则默认使用status选项。 #### 设定所有主机名 + 在root权限下,设定系统中的所有主机名,使用如下命令: -``` +```shell # hostnamectl set-hostname name ``` #### 设定特定主机名 + 在root权限下,通过不同的参数来设定特定主机名,使用如下命令: -``` +```shell # hostnamectl set-hostname name [option...] ``` @@ -559,23 +555,25 @@ $ hostnamectl status 当设定pretty主机名时,如果主机名中包含空格或单引号,需要使用引号。命令示例如下: -``` +```shell # hostnamectl set-hostname "Stephen's notebook" --pretty ``` #### 清除特定主机名 + 要清除特定主机名,并将其还原为默认形式,在root权限下,使用如下命令: -``` +```shell # hostnamectl set-hostname "" [option...] ``` 其中 "" 是空白字符串,option是\-\-pretty、\-\-static和\-\-transient中的一个或多个选项。 #### 远程更改主机名 + 在远程系统中运行hostnamectl命令时,要使用-H,\-\-host 选项,在root权限下使用如下命令: -``` +```shell # hostnamectl set-hostname -H [username]@hostname new_hostname ``` @@ -585,81 +583,77 @@ $ hostnamectl status 查询static主机名,使用如下命令: -``` +```shell $ nmcli general hostname ``` 在root权限下,将static主机名设定为host-server,使用如下命令: -``` +```shell # nmcli general hostname host-server ``` 要让系统hostnamectl感知到static主机名的更改,在root权限下,重启hostnamed服务,使用如下命令: -``` +```shell # systemctl restart systemd-hostnamed ``` ## 配置网络绑定 - ### 使用nmcli -- 创建名为mybond0的绑定,使用示例如下: +- 创建名为mybond0的绑定,使用示例如下: - ``` + ```shell $ nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup ``` -- 添加从属接口,使用示例如下: +- 添加从属接口,使用示例如下: - ``` + ```shell $ nmcli con add type bond-slave ifname enp3s0 master mybond0 ``` 要添加其他从属接口,重复上一个命令,并在命令中使用新的接口,使用示例如下: - ``` + ```shell $ nmcli con add type bond-slave ifname enp4s0 master mybond0 Connection 'bond-slave-enp4s0' (05e56afc-b953-41a9-b3f9-0791eb49f7d3) successfully added. ``` -- 要启动绑定,则必须首先启动从属接口,使用示例如下: +- 要启动绑定,则必须首先启动从属接口,使用示例如下: - ``` + ```shell $ nmcli con up bond-slave-enp3s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/14) ``` - ``` + ```shell $ nmcli con up bond-slave-enp4s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15) ``` 现在可以启动绑定,使用示例如下: - ``` + ```shell $ nmcli con up mybond0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/16) ``` - ### 使用命令行 - - #### 检查是否已安装Bonding内核模块 在系统中默认已加载相应模块。要载入绑定模块,可在root权限下使用如下命令: -``` +```shell # modprobe --first-time bonding ``` 显示该模块的信息,可在root权限下使用如下命令: -``` +```shell # modinfo bonding ``` @@ -671,7 +665,7 @@ $ nmcli general hostname 根据要绑定接口类型的配置文件来编写相应的内容,比如网络接口。接口配置文件示例如下: -``` +```shell DEVICE=bond0 NAME=bond0 TYPE=Bond @@ -689,7 +683,7 @@ BONDING_OPTS="bonding parameters separated by spaces" 例如将两个网络接口enp3s0 和 enp4s0 以频道方式绑定,其配置文件示例分别如下: -``` +```shell TYPE=Ethernet NAME=bond-slave-enp3s0 UUID=3b7601d1-b373-4fdf-a996-9d267d1cac40 @@ -699,7 +693,7 @@ MASTER=bond0 SLAVE=yes ``` -``` +```shell TYPE=Ethernet NAME=bond-slave-enp4s0 UUID=00f0482c-824f-478f-9479-abf947f01c4a @@ -713,12 +707,12 @@ SLAVE=yes 要激活绑定,则需要启动所有从属接口。请在root权限下,运行以下命令: -``` +```shell # ifup enp3s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7) ``` -``` +```shell # ifup enp4s0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8) ``` @@ -730,13 +724,13 @@ Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMa 要让 NetworkManager 感知到系统所做的修改,在每次修改后,请在root权限下,运行以下命令: -``` +```shell # nmcli con load /etc/sysconfig/network-scripts/ifcfg-device ``` 查看绑定接口的状态,请在root权限下运行以下命令: -``` +```shell # ip link show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 @@ -755,13 +749,13 @@ Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkMa 系统会为每个绑定创建一个频道绑定接口,包括 BONDING\_OPTS 指令。使用这个配置方法可让多个绑定设备使用不同的配置。请按照以下操作创建多个频道绑定接口: -- 创建多个 ifcfg-bondN 文件,文件中包含 BONDING\_OPTS 指令,让网络脚本根据需要创建绑定接口。 -- 创建或编辑要绑定的现有接口配置文件,添加 SLAVE 指令。 -- 使用 MASTER 指令工具在频道绑定接口中分配要绑定的接口,即从属接口。 +- 创建多个 ifcfg-bondN 文件,文件中包含 BONDING\_OPTS 指令,让网络脚本根据需要创建绑定接口。 +- 创建或编辑要绑定的现有接口配置文件,添加 SLAVE 指令。 +- 使用 MASTER 指令工具在频道绑定接口中分配要绑定的接口,即从属接口。 以下是频道绑定接口配置文件示例: -``` +```shell DEVICE=bondN NAME=bondN TYPE=Bond @@ -777,14 +771,13 @@ BONDING_OPTS="bonding parameters separated by spaces" ## IPv6使用差异说明(vs IPv4) - - ### 约束限制 -- chrony支持全局地址(global address),不支持链路本地地址(link-local address)。 -- Firefox支持通过http/https协议访问全局地址(global address),不支持链路本地地址(link-local address)。 +- chrony支持全局地址(global address),不支持链路本地地址(link-local address)。 +- Firefox支持通过http/https协议访问全局地址(global address),不支持链路本地地址(link-local address)。 ### 配置说明 + #### 设置接口设备MTU值 ##### 概述 @@ -796,7 +789,7 @@ IPv6场景中会发现整个路由路径中的最小mtu的值作为当前链接 如果在配置了IPv6地址的接口上设置mtu的值小于1280(IPv6 PMTU设置的最小值),则会导致该接口的IPv6地址被删除。并且无法再次添加IPv6地址。所以在IPv6场景中,对接口设备的mtu的配置一定要大于等于1280。 请在root权限下运行如下命令查看具体现象: -``` +```shell # ip addr show enp3s0 3: enp3s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:62:xx:xx brd ff:ff:ff:ff:xx:xx @@ -806,7 +799,7 @@ IPv6场景中会发现整个路由路径中的最小mtu的值作为当前链接 valid_lft forever preferred_lft forever ``` -``` +```shell # ip link set dev enp3s0 mtu 1200 # ip addr show enp3s0 3: enp3s0: mtu 1200 qdisc pfifo_fast state UP group default qlen 1000 @@ -815,12 +808,12 @@ IPv6场景中会发现整个路由路径中的最小mtu的值作为当前链接 valid_lft 38642sec preferred_lft 38642sec ``` -``` +```shell # ip addr add 2001:222::2/64 dev enp3s0 RTNETLINK answers: No buffer space available ``` -``` +```shell # ip link set dev enp3s0 mtu 1500 # ip addr show enp3s0 3: enp3s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 @@ -829,7 +822,7 @@ RTNETLINK answers: No buffer space available valid_lft 38538sec preferred_lft 38538sec ``` -``` +```shell # ip addr add 2001:222::2/64 dev enp3s0 # ip addr show enp3s0 3: enp3s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 @@ -846,31 +839,30 @@ RTNETLINK answers: No buffer space available IPv6与IPv4都可以在root权限下通过DHCP的方式获得IP地址。IPv6地址有两种配置方式:无状态自动配置和有状态自动配置。 -- 无状态自动配置 +- 无状态自动配置 不需要DHCP服务进行管理,设备根据网络RA(路由公告)获得网络前缀,或者link-local地址为固定fe80::。而接口ID则根据ifcfg配置IPV6\_ADDR\_GEN\_MODE的具体设置来进行自动获得: - 1. IPv6\_ADDR\_GEN\_MODE="stable-privacy" 则根据设备及网络环境来确定一个随机接口ID。 - 2. IPv6\_ADDR\_GEN\_MODE="EUI64" 则根据设备MAC地址来确定接口ID。 + 1. IPv6\_ADDR\_GEN\_MODE="stable-privacy" 则根据设备及网络环境来确定一个随机接口ID。 + 2. IPv6\_ADDR\_GEN\_MODE="EUI64" 则根据设备MAC地址来确定接口ID。 -- 有状态自动配置:需要DHCP服务器进行管理分配,服从DHCPv6协议来从DHCPv6服务器端租赁IPv6地址。 +- 有状态自动配置:需要DHCP服务器进行管理分配,服从DHCPv6协议来从DHCPv6服务器端租赁IPv6地址。 在有状态自动配置IPv6地址时,DHCPv6服务端可以通过客户端设置的vendor class将客户端进行分类,不同类别分配不同地址段的IPv6地址。在IPv4场景中,客户端可以直接用dhclient的-V选项来设置vendor-class-identifier,DHCP服务端在配置文件中根据vendor-class-identifier来对客户端进行分类处理。而IPv6场景中,如果使用同样的方法对客户端分类,则分类并不会生效。 - ``` + ```shell dhclient -6 -V ``` 这是由于DHCPv6和DHCP协议存在较大差异,DHCPv6的可选项中使用vendor-class-option替代了DHCP中的vendor-class-identifier。而dhclient的-V选项并不能设置vendor-class-option。 - ##### 有状态自动配置IPv6地址时dhclient设置vendor class方法 -- 在客户端使用配置文件方式添加对vendor class的设置,使用方法如下: +- 在客户端使用配置文件方式添加对vendor class的设置,使用方法如下: 客户端配置文件(/etc/dhcp/dhclient6.conf),文件位置可以自定义,在使用时需要通过dhclient -cf选项来指定配置文件: - ``` + ```shell option dhcp6.vendor-class code 16 = {integer 32, integer 16, string}; interface "enp3s0" { send dhcp6.vendor-class ; @@ -878,20 +870,19 @@ IPv6与IPv4都可以在root权限下通过DHCP的方式获得IP地址。IPv6地 ``` >![](./public_sys-resources/icon-note.gif) **说明:** - >- \,32位整型数字,企业标识号,企业通过IANA注册。 - >- \,16位整型数字,vendor class字符串长度。 - >- \,要设置的vendor class字符串,例如:“HWHW”。 + >- \,32位整型数字,企业标识号,企业通过IANA注册。 + >- \,16位整型数字,vendor class字符串长度。 + >- \,要设置的vendor class字符串,例如:“HWHW”。 客户端使用方法: - ``` + ```shell dhclient -6 -cf /etc/dhcp/dhclient6.conf ``` +- DHCPv6服务端配置文件(/etc/dhcp/dhcpd6.conf),需要dhcpd -cf选项来指定该配置文件: -- DHCPv6服务端配置文件(/etc/dhcp/dhcpd6.conf),需要dhcpd -cf选项来指定该配置文件: - - ``` + ```shell option dhcp6.vendor-class code 16 = {integer 32, integer 16, string}; subnet6 fc00:4:12:ffff::/64 { class "hw" { @@ -913,11 +904,10 @@ IPv6与IPv4都可以在root权限下通过DHCP的方式获得IP地址。IPv6地 服务端使用方法: - ``` + ```shell dhcpd -6 -cf /etc/dhcp/dhcpd6.conf ``` - #### 内核支持socket相关系统调用 ##### 概述 @@ -928,7 +918,7 @@ IPv6地址长度扩展到128比特,所以有足够的IPv6地址可供分配使 RFC 2553: Basic Socket Interface Extensions for IPv6 定义sockaddr\_in6的数据结构如下: -``` +```shell struct sockaddr_in6 { uint8_t sin6_len; /* length of this struct */ sa_family_t sin6_family; /* AF_INET6 */ @@ -944,7 +934,7 @@ struct sockaddr_in6 { 在使用link-local地址进行socket通信时,在构造目的地址时,需要指定该地址所对应的接口索引号。一般可以通过if\_nametoindex函数将接口名转化为接口索引号。具体方式如下: -``` +```shell int port = 1234; int sk_fd; int iff_index = 0; @@ -974,8 +964,8 @@ dhclient提供了"-1"选项来决定dhclient进程在未获得DHCP服务响应 ##### 约束限制 -1. 当dhclient进程在运行中被杀死,network服务无法自动将其拉起,可靠性需要用户自己保障。 -2. 配置了持久化选项PERSISTENT\_DHCLIENT,需要确保有相应的DHCP服务器。如果在拉起network时无可用DHCP服务器,dhclient进程不断尝试发送请求包但无回应,则会导致network服务卡死直到network服务超时失败。由于network服务在拉起多个网卡的IPv4 dhclient进程时,是通过串行的方式来拉起的。如果有网卡配置了持久化而DHCP服务器没有准备好,则会导致network服务在给该网卡获取IPv4地址超时卡死,进而导致后续网卡无法获得IPv4/IPv6地址。 +1. 当dhclient进程在运行中被杀死,network服务无法自动将其拉起,可靠性需要用户自己保障。 +2. 配置了持久化选项PERSISTENT\_DHCLIENT,需要确保有相应的DHCP服务器。如果在拉起network时无可用DHCP服务器,dhclient进程不断尝试发送请求包但无回应,则会导致network服务卡死直到network服务超时失败。由于network服务在拉起多个网卡的IPv4 dhclient进程时,是通过串行的方式来拉起的。如果有网卡配置了持久化而DHCP服务器没有准备好,则会导致network服务在给该网卡获取IPv4地址超时卡死,进而导致后续网卡无法获得IPv4/IPv6地址。 以上两种约束限制是特殊的应用场景,需要用户自己进行可靠性保障。 @@ -983,20 +973,19 @@ dhclient提供了"-1"选项来决定dhclient进程在未获得DHCP服务响应 可以通过配置接口ifcfg-参数来分别实现IPv4和IPv6通过DHCP/DHCPv6协议来动态获取IP地址,具体配置说明如下: -``` +```shell BOOTPROTO=none|bootp|dhcp DHCPV6C=yes|no PERSISTENT_DHCLIENT=yes|no|1|0 ``` -- BOOTPROTO: none表示静态配置IPv4地址,bootp|dhcp则会拉起DHCP dhclient来动态获取IPv4地址。 -- DHCPV6C: no表示静态配置IPv6地址,yes则会拉起DHCPv6 dhclient来动态获取IPv6地址。 -- PERSISTENT\_DHCLIENT:no|0表示IPv4的dhclient进程配置为“非持久化”,当dhclient向DHCP服务器发送一次请求报文而无响应,则会间隔一段时间后退出,退出值为2。yes|1则表示IPv4的dhclient进程配置为“持久化”,dhclient会向DHCP服务器反复发送请求报文。**如果没有配置PERSISTENT\_DHCLIENT项,则IPv4的dhclient会默认设置为“持久化”**。 +- BOOTPROTO: none表示静态配置IPv4地址,bootp|dhcp则会拉起DHCP dhclient来动态获取IPv4地址。 +- DHCPV6C: no表示静态配置IPv6地址,yes则会拉起DHCPv6 dhclient来动态获取IPv6地址。 +- PERSISTENT\_DHCLIENT:no|0表示IPv4的dhclient进程配置为“非持久化”,当dhclient向DHCP服务器发送一次请求报文而无响应,则会间隔一段时间后退出,退出值为2。yes|1则表示IPv4的dhclient进程配置为“持久化”,dhclient会向DHCP服务器反复发送请求报文。**如果没有配置PERSISTENT\_DHCLIENT项,则IPv4的dhclient会默认设置为“持久化”**。 >![](./public_sys-resources/icon-note.gif) **说明:** >PERSISTENT\_DHCLIENT配置只针对IPv4生效,对IPv6相关dhclient -6进程不生效,IPv6默认不进行持久化配置。 - #### iproute相关命令配置IPv4与IPv6时的差异说明 ##### 概述 @@ -1040,14 +1029,14 @@ iproute相关命令均需要在root权限下运行。 其他说明: -- preferred\_lft:preferred lifetime,地址为首选状态的寿命,preferred\_lft没有到期的地址可以用于正常通信使用,若有多个preferred地址则按照内核具体机制选择地址。 -- valid\_lft: valid lifetime,地址有效的寿命,在\[preferred\_lft, valid\_lft\]时间段内该地址不能被用于新建连接,已经创建的连接继续有效。 +- preferred\_lft:preferred lifetime,地址为首选状态的寿命,preferred\_lft没有到期的地址可以用于正常通信使用,若有多个preferred地址则按照内核具体机制选择地址。 +- valid\_lft: valid lifetime,地址有效的寿命,在\[preferred\_lft, valid\_lft\]时间段内该地址不能被用于新建连接,已经创建的连接继续有效。 ##### ip link 命令 命令: -``` +```shell ip link set IFNAME mtu MTU ``` @@ -1055,9 +1044,9 @@ IPv6中PMTU的最小值为1280,如果mtu值设置小于1280则会导致IPv6地 ##### ip addr命令 -1. 命令: +1. 命令: - ``` + ```shell ip [-6] addr add IFADDR dev IFNAME ``` @@ -1065,83 +1054,79 @@ IPv6中PMTU的最小值为1280,如果mtu值设置小于1280则会导致IPv6地 如果指定“-6”选项,但是IFADDR 是ipv4地址则会有错误返回。 -2. 命令: +2. 命令: - ``` + ```shell ip [-6] addr add IFADDR dev IFNAME [home|nodad] ``` \[home|nodad\] 选项只针对IPv6地址有效。 - - home:将该地址指定为RFC 6275中定义的家庭地址。(这是移动节点从家庭链路获取的地址, 是移动节点的永久地址,如果移动节点保持在相同的归属链路中,则各种实体之间的通信照常进行。) - - nodad:配置该项(仅限IPv6)添加此地址时不执行重复地址检测DAD(RFC 4862)。如果一台设备上多个接口通过nodad配置了多个相同的IPv6地址,则会按照接口顺序使用该IPv6地址。同一个接口上不能添加一个nodad一个非nodad的相同IPv6地址。因为两个地址是一样的,所以会报“RTNETLINK answers: File exists”。 + - home:将该地址指定为RFC 6275中定义的家庭地址。(这是移动节点从家庭链路获取的地址, 是移动节点的永久地址,如果移动节点保持在相同的归属链路中,则各种实体之间的通信照常进行。) + - nodad:配置该项(仅限IPv6)添加此地址时不执行重复地址检测DAD(RFC 4862)。如果一台设备上多个接口通过nodad配置了多个相同的IPv6地址,则会按照接口顺序使用该IPv6地址。同一个接口上不能添加一个nodad一个非nodad的相同IPv6地址。因为两个地址是一样的,所以会报“RTNETLINK answers: File exists”。 -3. 命令: +3. 命令: - ``` + ```shell ip [-6] addr del IFADDR dev IFNAME ``` 删除IPv6地址可以选择添加-6选项也可以不添加,ip addr del命令会根据具体地址类型来判断是ipv4地址还是IPv6地址。 -4. 命令: +4. 命令: - ``` + ```shell ip [-6] addr show dev IFNAME [tentative|-tentative|deprecated|-deprecated|dadfailed|-dadfailed|temporary] ``` - - 不指定-6选项,则会同时打印IPv4和IPv6地址。指定-6选项则只打印IPv6地址。 - - \[tentative|-tentative|deprecated|-deprecated|dadfailed|-dadfailed|temporary\],这些选项只针对IPv6,可以根据IPv6地址状态对地址进行筛选查看。 - 1. tentative:(仅限IPv6)仅列出尚未通过重复地址检测的地址。 - 2. -tentative:(仅限IPv6)仅列出当前未处于重复地址检测过程中的地址。 - 3. deprecated:(仅限IPv6)仅列出已弃用的地址。 - 4. -deprecated:(仅限IPv6)仅列出未弃用的地址。 - 5. dadfailed:(仅限IPv6)仅列出重复地址检测失败的地址。 - 6. -dadfailed:(仅限IPv6)仅列出未重复地址检测失败的地址。 - 7. temporary:(仅限IPv6)仅列出临时地址。 - - + - 不指定-6选项,则会同时打印IPv4和IPv6地址。指定-6选项则只打印IPv6地址。 + - \[tentative|-tentative|deprecated|-deprecated|dadfailed|-dadfailed|temporary\],这些选项只针对IPv6,可以根据IPv6地址状态对地址进行筛选查看。 + 1. tentative:(仅限IPv6)仅列出尚未通过重复地址检测的地址。 + 2. -tentative:(仅限IPv6)仅列出当前未处于重复地址检测过程中的地址。 + 3. deprecated:(仅限IPv6)仅列出已弃用的地址。 + 4. -deprecated:(仅限IPv6)仅列出未弃用的地址。 + 5. dadfailed:(仅限IPv6)仅列出重复地址检测失败的地址。 + 6. -dadfailed:(仅限IPv6)仅列出未重复地址检测失败的地址。 + 7. temporary:(仅限IPv6)仅列出临时地址。 ##### ip route命令 -1. 命令: +1. 命令: - ``` + ```shell ip [-6] route add ROUTE [mtu lock MTU] ``` - - -6选项:添加IPv6路由可以选择添加-6选项也可以不添加,ip route命令会根据具体地址类型来判断是IPv4地址还是IPv6地址。 + - -6选项:添加IPv6路由可以选择添加-6选项也可以不添加,ip route命令会根据具体地址类型来判断是IPv4地址还是IPv6地址。 - - mtu lock MTU:锁定路由的MTU值。如果不锁定MTU,则MTU的值则可能在PMTUD过程中被内核改变。如果锁定MTU,则不会尝试PMTUD,所有IPv4包都将不设置DF位发出,IPv6包则会按照MTU进行分段处理。 + - mtu lock MTU:锁定路由的MTU值。如果不锁定MTU,则MTU的值则可能在PMTUD过程中被内核改变。如果锁定MTU,则不会尝试PMTUD,所有IPv4包都将不设置DF位发出,IPv6包则会按照MTU进行分段处理。 -2. 命令: +2. 命令: - ``` + ```shell ip [-6] route del ROUTE ``` 删除IPv6路由可以选择添加-6选项也可以不添加,ip route命令会根据具体地址类型来判断是IPv4地址还是IPv6地址。 - ##### ip rule命令 -1. 命令: +1. 命令: - ``` + ```shell ip [-6] rule list ``` -6选项:设置-6选项打印IPv6的策略路由,不设置-6选项打印IPv4的策略路由。所以需要根据具体协议类型来配置-6选项。 -2. 命令: +2. 命令: - ``` + ```shell ip [-6] rule [add|del] [from|to] ADDR table TABLE pref PREF ``` -6选项:IPv6相关的策略路由表项需要设置-6选项,否则会报错:“Error: Invalid source address.”。相应地,IPv4相关的策略路由表项不可以设置-6选项,否则会报错:“Error: Invalid source address.”。 - #### NetworkManager服务配置差异说明 ##### 概述 @@ -1298,6 +1283,7 @@ NetworkManager服务使用ifup/ifdown的逻辑接口定义进行高级网络设 ### FAQ + #### iscsi-initiator-utils不支持登录fe80 IPv6地址 ##### 问题现象 @@ -1328,7 +1314,7 @@ NetworkManager服务使用ifup/ifdown的逻辑接口定义进行高级网络设 下列方式配置或删除(包括flush)IPv6地址,X为动态变化的低16位,并且配置在bond口时,耗时会随已配置的IPv6地址数量成倍增加。例如由4个物理网卡组成的bond口添加IPv6地址时,单线程添加删除3000个IPv6地址均需大概5分钟,而普通物理网卡耗时在10秒内。 -``` +```shell ip a add/del 192:168::18:X/64 dev DEVICE ``` @@ -1356,11 +1342,12 @@ rsyslog客户端配置文件同时配置IPv4和IPv6地址,且端口配置相 可在root权限下通过配置Direct模式,关闭缓冲队列机制解决该问题。在rsyslog远程传输服务端的/etc/rsyslog.d目录下新增的远程传输配置文件中,最开头增加如下配置: -``` +```shell $ActionQueueType Direct $MainMsgQueueType Direct ``` >![](./public_sys-resources/icon-note.gif) **说明:** ->- Direct模式减少队列大小为1,所以在队列中会保留1条日志到下次日志打印; ->- Direct模式会降低服务器端的rsyslog性能。 +> +>- Direct模式减少队列大小为1,所以在队列中会保留1条日志到下次日志打印; +>- Direct模式会降低服务器端的rsyslog性能。 diff --git a/docs/zh/docs/userguide/pkgship.md b/docs/zh/docs/userguide/pkgship.md index 77bf9d23226abb384eb23528b75d785e0b5d4495..234849837a34ff666ab4673db449014c30eb7f0e 100644 --- a/docs/zh/docs/userguide/pkgship.md +++ b/docs/zh/docs/userguide/pkgship.md @@ -89,35 +89,35 @@ pkgship是一款管理OS软件包依赖关系,提供依赖和被依赖关系 脚本路径默认为: -``` +```bash /etc/pkgship/auto_install_pkgship_requires.sh ``` 执行方法为 -``` +```bash /bin/bash auto_install_pkgship_requires.sh elasticsearch ``` 或者 -``` +```bash /bin/bash auto_install_pkgship_requires.sh redis ``` >**说明:** > ->以rpm包方式安装Elasticsearch默认为无密码模式,且pkgship需使用无密码设置的Elasticsearch,因此,当前建议Elasticsearch和pkgship需安装在同一服务器,通过网络隔离提高安全性。后续版本将支持Elasticsearch设置用户名密码。 +>当以rpm包方式安装Elasticsearch时,默认情况下它不会设置任何密码,即运行在无密码模式。由于pkgship需要无密码设置的Elasticsearch来正常工作,因此建议Elasticsearch和pkgship安装在同一服务器上。为了提高安全性,可采用网络隔离的措施来限制对Elasticsearch的访问。后续版本将支持Elasticsearch设置用户名密码。 **3、安装后添加用户** -在安装pkgship软件后,会自动创建名为pkgshipuser的用户和名为pkgshipuser的用户组,无需手动创建,后续服务启动和运行时,都会以该用户角色操作。 +在安装pkgship软件后,系统会自动创建名为pkgshipuser的用户和名为pkgshipuser的用户组,且后续服务启动和运行时,都会以该用户角色操作。 ## 配置参数 1.在配置文件中对相应参数进行配置,系统的默认配置文件存放在 /etc/pkgship/package.ini,请根据实际情况进行配置更改。 -``` +```shell vim /etc/pkgship/package.ini ``` @@ -186,7 +186,7 @@ database_port=9200 ``` 2.创建初始化数据库的yaml配置文件: -conf.yaml 文件默认存放在 /etc/pkgship/ 路径下,pkgship会通过该配置读取要建立的数据库名称以及需要导入的sqlite文件,也支持配置sqlite文件所在的repo地址。conf.yaml 示例如下所示。 +conf.yaml 文件默认存放在 /etc/pkgship/ 路径下,pkgship会通过读取该配置文件获取要建立的数据库名称以及需要导入的sqlite文件名称;支持修改sqlite文件所在的repo地址。conf.yaml 示例如下所示。 ```yaml dbname: oe22.03 #数据库名称