CentOS7、Stream 8的系统管理命令备忘录
这是关于CentOS 7和Stream 8系统管理命令的备忘录。
文章的前提环境:
-
- CentOS 7 / Stream 8 (x86_64)
-
- インストールタイプ: Minimal Install
- インストール時のキーボードタイプ: Japanese を選択
红帽企业级 Linux(RHEL)的文档参考:
-
- CentOS 7 : Product Documentation for Red Hat Enterprise Linux 7
CentOS 8/Stream 8 : Product Documentation for Red Hat Enterprise Linux 8
在本文中,参考Red Hat Enterprise Linux(RHEL)的官方文档。
基本设置
常用于系统管理的基本配置备忘录。
操作系统的版本信息
检查 /etc/ 目录下的 *-release 文件和 *-version 文件。
[CentOS 7/Stream 8 共通]
$ ls -l /etc/*release
-rw-r--r--. 1 root root 37 Nov 24 2020 /etc/centos-release
lrwxrwxrwx. 1 root root 21 Aug 22 23:36 /etc/os-release -> ../usr/lib/os-release
lrwxrwxrwx. 1 root root 14 Aug 22 23:36 /etc/redhat-release -> centos-release
lrwxrwxrwx. 1 root root 14 Aug 22 23:36 /etc/system-release -> centos-release
$ ls -l /etc/*version
[保有パッケージ: CentOS 7]
$ rpm -qf /usr/lib/os-release
centos-release-7-9.2009.1.el7.centos.x86_64
$ rpm -qf /etc/centos-release
centos-release-7-9.2009.1.el7.centos.x86_64
[保有パッケージ: CentOS Stream 8]
$ rpm -qf /usr/lib/os-release
centos-stream-release-8.5-3.el8.noarch
$ rpm -qf /etc/centos-release
centos-stream-release-8.5-3.el8.noarch
CentOS 7/Stream 8 文件内容(例如):
[例: CentOS 7 : /etc/centos-release]
$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)
[例: CentOS 7 : /etc/os-release]
$ cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"
[例: CentOS Stream 8 : /etc/centos-release]
$ cat /etc/centos-release
CentOS Stream release 8
[例: CentOS Stream 8 : /etc/os-release]
$ cat /etc/os-release
NAME="CentOS Stream"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Stream 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
日期和时间、区域设置、主机名
“参考:”
-
- Red Hat Enterprise Linux 7 システム管理者のガイド, 第1章 はじめに, 1.1. 環境の基本設定
Red Hat Enterprise Linux 7 ネットワークガイド, 第6章 ホスト名の設定
Red Hat Enterprise Linux 8 基本的なシステム設定の構成, 第2章 基本的な環境設定の変更
日期和时间
$ man 1 date
$ date
Tue Aug 24 16:33:53 JST 2021
$ man 1 timedatectl
$ timedatectl
Local time: Tue 2021-08-24 16:33:42 JST
Universal time: Tue 2021-08-24 07:33:42 UTC
RTC time: Mon 2021-08-23 20:29:03
Time zone: Asia/Tokyo (JST, +0900)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
※設定を更新する際は sudo timedatectl ...
本地环境(系统语言、字符编码、键盘布局)
$ man 1 localectl
$ localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: jp
X11 Layout: jp
※設定を更新する際は sudo localectl ...
主机名称
-
- man 1 hostnamectl
pretty hostname
記号など含むホスト名
例: Lennart’s Laptop
保存先: /etc/machine-info (未設定の場合は作成されない?)
see: man 5 machine-info
static hostname
起動時に初期化されるkernel用ホスト名
例: lennarts-laptop
保存先: /etc/hostname
see man 5 hostname
transient hostname
DHCPなどネットワーク設定で取得するホスト名
static hostnameが使えないときのfallback用
$ man 1 hostnamectl
$ hostnamectl
Static hostname: centos-7-t01.localdomain
Icon name: computer-vm
Chassis: vm
Machine ID: 6a6bc562612f0247bc92fcfb812ee614
Boot ID: a9f7f9a98f71499cb5c78dc8e43d9113
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1160.36.2.el7.x86_64
Architecture: x86-64
※設定を更新する際は sudo hostnamectl ...
NTP(chrony)的同步状态
CentOS 7/Stream 8 默认使用 chrony 作为 NTP 客户端。
根据:
-
- manページ
man 5 chrony.conf : /etc/chrony.conf 設定ファイル
man 8 chronyd : NTPデーモン
man 1 chronyc : NTPクライアント
Red Hat Enterprise Linux 7 システム管理者のガイド
第18章 chrony スイートを使用した NTP 設定
18.3.5. chrony の同期確認
18.3.5.2. chrony ソースの確認
18.3.6. システムクロックの手動調整
Red Hat Enterprise Linux 8 基本的なシステム設定の構成
第30章 chrony スイートを使用した NTP の設定
第32章 chrony の使用
32.2. chrony の同期確認
32.3. システムクロックの手動調整
安装chronyd:
-
- インストール時にネットワーク接続を有効化し、NTPをONにすると chronyd がデフォルトでインストールされ、時刻同期が有効化される。
-
- ネットワーク接続を有効化しても、NTPがOFFのままだと chronyd がインストールされず、時刻同期も行われないケースがあった。
この場合は、手動で chrony をインストールする必要がある。
$ sudo yum install chrony
or
$ sudo dnf install chrony
$ sudo systemctl enable chronyd
$ sudo systemctl start chronyd
$ sudo systemctl status chronyd
检查chrony的同步状态
$ chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^- rilynn.me.uk 2 6 377 50 -5138us[-5031us] +/- 140ms
^* i172-105-204-167.poolntp> 3 6 337 47 +258us[ +365us] +/- 5107us
^- 152.115.59.242 2 6 377 46 -36us[ -36us] +/- 157ms
^- ktor1.k-ten.de 2 7 7 36 -1020us[-1020us] +/- 182ms
从RHEL7 “18.3.5.2. chrony源的验证”着重介绍了M、S列的重要性。
-
- M 列
ソースのモードを示します。
^ はサーバーを意味し、 = はピアを意味し、 # はローカルに接続された基準クロックを意味します。
S 列
この列は、ソースの状態を示します。
* : chronyd が現在同期しているソースを表します。
+ : 選択したソースと結合する、受け入れ可能なソースを表します。
– : 受け入れ可能なソースで、結合アルゴリズムにより除外されたものを表します。
? : 接続が切断されたソース、またはパケットがすべてのテストをパスしないソースを表します。少なくとも 3 つのサンプルが収集されるまで開始時にも表示されます。
x : chronyd が falseticker と考える (つまり、その時間が他の大半のソースと一致しない) クロックを表します。
~ : 時間の変動性が大きすぎるように見えるソースを表します。
詳細は chronyc(1) 参照
停止逐渐调整系统时钟,一次性修正:
$ sudo chronyc makestep
包管理(yum,dnf)
-
- RHEL, CentOS 7 まで
YUM v3 をベースとした yum コマンドを使っていた。
RHEL, CentOS 8 以降
YUM v4 をベースとした dnf コマンドが導入され、今後はこちらがスタンダードとなる見込み。
概要: RHEL8, RHEL 8 の導入における検討事項, 第6章 ソフトウェア管理
yum コマンドベースでのパッケージ管理の説明:
RHEL8, 基本的なシステム設定の構成, 第12章 ソフトウェアパッケージの管理
RHEL8, Configuring basic system settings, Chapter 12. Managing software packages
dnf と yum コマンドの違い:
Changes in DNF CLI compared to YUM — dnf latest documentation
主な yum plugin は dnf の plugin でも提供している。
yum-utils で提供されていたユーティリティコマンドについても dnf の plugin で提供している。
これらの dnf plugin は dnf-plugins-core として、コアのプラグインとして組み込まれている。
dnf-plugins-core が提供するプラグイン一覧については以下参照:
https://dnf-plugins-core.readthedocs.io/en/latest/index.html
あるいは rpm -ql dnf-plugins-core からのmanページ参照 / man -k dnf
命令列表等参考资料
命令列表(备忘单)等参考资料:
-
- 在SST工程师博客中介绍了对学习Linux系统有帮助的命令。基本上可以参考上述文章的“包信息查询”部分。
PDF:适用于Red Hat Enterprise Linux的YUM命令备忘单
yum|启用/禁用yum仓库。
作为补充,将以下与上述参考资料[1]中未包含的仓库相关操作列出。
文件所有者,权限列表
$ sudo rpm -q --qf "[%{FILEMODES:perms} %{FILEUSERNAME}:%{FILEGROUPNAME} %{FILENAMES}\n]" <package-name>
$ sudo rpm -qp --qf "[%{FILEMODES:perms} %{FILEUSERNAME}:%{FILEGROUPNAME} %{FILENAMES}\n]" foobar.rpm
仓库列表/详细信息/添加
[CentOS 7]
(enabledのみ)
$ sudo yum repolist
$ sudo yum repolist enabled
(disabled含む一覧)
$ sudo yum repolist all
(baseリポジトリの詳細)
$ sudo yum repolist base -v
(リポジトリの追加)
$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo <repository-url>
[CentOS Stream 8]
(enabledのみ)
$ sudo dnf repolist
$ sudo dnf repolist enabled
(disabled含む一覧)
$ sudo dnf repolist all
(baseリポジトリの詳細)
$ sudo dnf repolist baseos -v
(リポジトリの追加)
$ sudo dnf config-manager --add-repo <repository-url>
安装EPEL(企业级Linux附加软件包仓库配置)。
[CentOS 7]
$ sudo yum search epel
(...)
============================================================ N/S matched: epel =============================================================
epel-release.noarch : Extra Packages for Enterprise Linux repository configuration
$ sudo yum install epel-release
[CentOS Stream 8]
$ sudo dnf search epel
(...)
============================================================ Name Matched: epel ============================================================
epel-next-release.noarch : Extra Packages for Enterprise Linux Next repository configuration
epel-release.noarch : Extra Packages for Enterprise Linux repository configuration
$ sudo dnf install epel-release
搜索和安装软件包的示例:screen
[CentOS 7]
$ sudo yum --disablerepo=* --enablerepo=base search screen
(...)
=========================================================== N/S matched: screen ============================================================
(...)
screen.x86_64 : A screen manager that supports multiple logins on one terminal
(...)
→ base リポジトリで見つかったので、そのままインストール
$ sudo yum --disablerepo=* --enablerepo=base install screen
[CentOS Stream 8]
$ sudo dnf --disablerepo=* --enablerepo=baseos search screen
→ 見つからない。
$ sudo dnf --disablerepo=* --enablerepo=epel search screen
(...)
====================================================== Name & Summary Matched: screen ======================================================
screen.x86_64 : A screen manager that supports multiple logins on one terminal
(...)
→ EPEL リポジトリにあったのでインストール
$ sudo dnf --disablerepo=* --enablerepo=epel install screen
获取包组的信息
[CentOS Stream 8]
# パッケージグループ一覧表示
$ sudo dnf group list
# --hidden | --installed | --available | --ids はどれか一つだけ指定できる。
$ sudo dnf group list --hidden
$ sudo dnf group list --installed
$ sudo dnf group list --available
$ sudo dnf group list --ids
(-v をつけても良い)
# 特定のパッケージグループに含まれるパッケージ一覧
$ sudo dnf group info "Development Tools"
(dnf group list --ids で表示されるIDを指定する場合:)
$ sudo dnf group info development
(パッケージのバージョンまで表示したい場合:)
$ sudo dnf -v group info "Development Tools"
$ sudo dnf -v group info development
(info コマンドはインストールしていないパッケージグループでも使える)
# パッケージグループのインストール例
$ sudo dnf group install "Development Tools"
dnf组命令参考:
-
- How to work with dnf package groups – Linux Tutorials – Learn Linux Configuration
- dnf(yum) groupinstallでは何がインストールされているのか – Qiita
AppStream (适用于RHEL 8、CentOS 8及更高版本)。
Can you give me a reference for this?
-
- Red Hat Enterprise Linux 8
RHEL 8 の導入における検討事項, 第4章 アプリケーションストリーム
ユーザー空間コンポーネントのインストール、管理、および削除
ここに全て書かれてる
Make & Review | RHEL/CentOS8のAppStream 知識整理
Red Hat Enterprise Linux 8 で 10年維持されるパッケージはどれ? – 赤帽エンジニアブログ
命令提取:
[モジュールの一覧/詳細]
$ sudo dnf module list
$ sudo dnf module list (module-name)
$ sudo dnf module info (module-name)
[パッケージインストール前にストリームを有効化]
$ sudo dnf module enable (module-name):(stream)
[モジュールのコンテンツ(=パッケージ一式)をインストール]
$ sudo dnf module install (module-name)
$ sudo dnf module install (module-name):(stream)
$ sudo dnf module install (module-name):(stream)/(profile)
[アクティブなストリームからすべてのパッケージを削除]
$ sudo dnf module remove --all (module-name)
$ sudo dnf module remove --all (module-name):(stream)
$ sudo dnf module remove --all (module-name):(stream)/(profile)
[モジュールを初期状態へのリセット]
$ sudo dnf module reset (module-name)
[モジュールおよびそのストリームの無効化]
$ sudo dnf module disable (module-name)
通过NetworkManager进行命令行操作
使用NetworkManager的图形界面/文本用户界面/字符用户界面进行设置比使用配置文件更为安全可靠。
通过命令行操作,使用CUI的nmcli(1)方法更为简单。
引用:
-
- Red Hat Enterprise Linux 7 ネットワークガイド
-
- Red Hat Enterprise Linux 8 ネットワークの設定および管理
-
- man 1 nmcli
-
- nmcliチートシート – Qiita
- nmcliコマンドの基礎 – えんでぃの技術ブログ
网络接口命名规则
在CentOS 7和Stream 8中,采用了可预测的网络接口名作为命名规则。
以前的命名规则是通过kernel在启动时检测到的eth0、eth1等,但存在着因热插拔设备或检测顺序而导致接口名错位的问题。
通过使用可预测的网络接口名,可以实现整体上一致的命名规则,即在设备之间可以唯一确定名称,并且避免接口名的错位。
通过配置,还可以恢复到以前的命名规则。
有关于systemd v197中引入的可预测网络接口命名,请参考以下内容:
-
- 网络接口名称- Debian维基
可预测的网络接口名称
https://systemd.io/PREDICTABLE_INTERFACE_NAMES/
https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/
注:Debian与Ubuntu:网络接口名称
有关CentOS 7/8系列和RHEL 7/8系列的接口命名规则,请参考以下内容。
-
- Red Hat Enterprise Linux 7 网络指南, 第11章 网络设备命名的一致性
Red Hat Enterprise Linux 8 网络配置和管理, 第1章 一致命名的网络接口设备
如何使用nmcli
如果安装了bash-completion软件包,nmcli命令的自动补全功能将变得有效,因此推荐安装。
[RHEL7/CentOS7]
$ sudo yum install bash-completion
→ログアウト後、ログインし直す。
[RHEL8/CentOS8/CentOS Stream 8]
$ sudo dnf install bash-completion
→ログアウト後、ログインし直す。
常规的网络命令示例:
[NetworkManager全体のステータス表示]
$ sudo nmcli general
$ sudo nmcli general status
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
[ホスト名(static hostname)の表示]
$ sudo nmcli general hostname
[ホスト名(static hostname)の設定]
$ sudo nmcli general hostname (new-hostname)
[ネットワーク管理のON/OFF]
$ sudo nmcli networking on
$ sudo nmcli networking off
设备与连接配置文件
在 NetworkManager 中,将物理设备(如以太网适配器)和该设备上的“连接”设置分离。
这样一来,例如在家和办公室都要携带带有以太网适配器的笔记本电脑时,可以将针对同一个设备(笔记本电脑的以太网适配器)的家庭/办公室连接设置切换为连接配置文件的用法变得可能。
以 “nmcli device…” 开头的命令将成为操作设备,即网络接口的命令。
以 “nmcli connection…” 开头的命令将成为操作连接配置文件的命令。
下面的资料可以很容易地解释有关设备和连接配置文件的内容。
-
- nmcliチートシート – Qiita
- nmcliコマンドの基礎 – えんでぃの技術ブログ
[ネットワークインターフェイス一覧]
$ sudo nmcli device
$ sudo nmcli device status
[ネットワークインターフェイス設定値一覧]
$ sudo nmcli device show (device-name)
[接続プロファイル一覧]
$ sudo nmcli connection show
[接続プロファイルの設定値一覧]
$ sudo nmcli connection show (connection-name)
[接続プロファイルの設定変更]
$ sudo nmcli connection modify (connection-name) (設定項目名) (値)
[例: 接続プロファイル名の変更]
$ sudo nmcli connection modify (old-connection-name) connection.id (new-connection-name)
[接続プロファイルの起動(= 接続)]
$ sudo nmcli connection up (connection-name)
[接続プロファイルの停止(= 切断)]
$ sudo nmcli connection down (connection-name)
[接続プロファイルの削除]
$ sudo nmcli connection delete (connection-name or connection-uuid)
自动连接接续配置ON/OFF
[自動接続の確認]
$ sudo nmcli -f name,autoconnect connection show
[自動接続ON]
$ sudo nmcli connection modify (connection-name) connection.autoconnect yes
[自動接続OFF]
$ sudo nmcli connection modify (connection-name) connection.autoconnect no
打开DHCP。
[DHCP用の接続プロファイルを追加]
$ sudo nmcli connection add con-name (new-connection-name) ifname (device-name) type ethernet
[IPアドレス/ゲートウェイ/DNSの設定を空に戻す]
$ sudo nmcli connection modify (connection-name) ipv4.dns ""
$ sudo nmcli connection modify (connection-name) ipv4.gateway ""
(or
$ sudo nmcli connection modify (connection-name) ipv4.gateway 0.0.0.0
)
$ sudo nmcli connection modify (connection-name) ipv4.addresses ""
※ ipv4.gateway を空にしてから、ipv4.addresses を空にする。逆だとエラーになる。
[DHCPを有効化]
$ sudo nmcli connection modify (connection-name) ipv4.method auto
[既存プロファイルの修正の場合、一度停止]
$ sudo nmcli connection down (connection-name)
[接続プロファイルを起動]
$ sudo nmcli connection up (connection-name)
如果保留了 ipv4.xxx 的手动设置,那么将同时有效 DHCP 获取的 IP/网关/DNS 信息和手动设置。
请参考以下信息:
-
- Red Hat Enterprise Linux 7网络指南,3.3.7。使用nmcli添加和设置动态以太网连接
Red Hat Enterprise Linux 8网络设置与管理,8.5。使用nmcli设置动态以太网连接
禁用DHCP,并手动设置IP地址/网关/DNS。
设定连接配置文件的IP地址为 ipv4.addresses,然后将 ipv4.method 设置为手动。(如果在 ipv4.addresses 为空的情况下尝试将 ipv4.method 更改为手动,将会显示类似“无法在 ipv4.addresses 为空的情况下设置为手动”的错误信息。)
[手動設定用の接続プロファイルを追加]
$ sudo nmcli connection add con-name (new-connection-name) ifname (device-name) type ethernet
[IPアドレス設定]
$ sudo nmcli connection modify (connection-name) ipv4.addresses 192.168.1.10/24
[デフォルトゲートウェイ設定]
$ sudo nmcli connection modify (connection-name) ipv4.gateway 192.168.1.1
[DNS設定]
$ sudo nmcli connection modify (connection-name) ipv4.dns "8.8.8.8 8.8.4.4"
[DHCPを無効化]
$ sudo nmcli connection modify (connection-name) ipv4.method manual
[既存プロファイルの修正の場合、一度停止]
$ sudo nmcli connection down (connection-name)
[接続プロファイルを起動]
$ sudo nmcli connection up (connection-name)
以下是中国的传统食物和饮料节目:
– 红烧肉:这是一道著名的传统猪肉菜肴,使用豆瓣酱、糖、酱油、姜和蒜来烹饪。
– 水饺:这是一种经典的中国小吃,通常用猪肉、虾仁、蔬菜和香料做馅料,然后包在薄面皮中,煮或蒸熟。
– 绿茶:这是中国传统的常见饮料,以其清新的味道和健康的属性而闻名。
– 龙井茶:这是中国最着名的绿茶之一,它具有淡淡的甜味和丰富的花香,被誉为中国绿茶的代表之一。
– 白酒:这是中国传统的酒类,由粮食发酵和蒸馏而成,有着浓郁的香味和高度的酒精含量。
-
- Red Hat Enterprise Linux 7 網絡指南,3.3.8. 使用 nmcli 添加和配置靜態以太網連接
Red Hat Enterprise Linux 8 網絡配置和管理,8.1. 使用 nmcli 設定靜態以太網連接
添加/删除DNS
[追加]
$ sudo nmcli connection modify (connection-name) +ipv4.dns 8.8.8.8
$ sudo nmcli connection modify (connection-name) +ipv4.dns "8.8.8.8 8.8.4.4"
[削除]
$ sudo nmcli connection modify (connection-name) -ipv4.dns 8.8.8.8
$ sudo nmcli connection modify (connection-name) -ipv4.dns "8.8.8.8 8.8.4.4"
参考:公共DNS缓存服务器
-
- 谷歌公共DNS
主要: 8.8.8.8
备用: 8.8.4.4
云flare
推出1.1.1.1:最快速度、注重隐私的消费者DNS服务
主要: 1.1.1.1
备用: 1.0.0.1
介绍1.1.1.1 for Families
仅恶意软件阻止
主要: 1.1.1.2
备用: 1.0.0.2
恶意软件和成人内容
主要: 1.1.1.3
备用: 1.0.0.3
云flare宣布免费的新DNS服务”1.1.1.1 for Families”,在DNS层面上阻止成人内容和恶意软件 – Publickey
1.1.1.1 – 维基百科
设置静态路由/网关
参考:
-
- Red Hat Enterprise Linux 7 ネットワークガイド, 第4章 静的ルートおよびデフォルトゲートウェイの設定
4.2. nmcli を使った静的ルートの設定
4.6. デフォルトゲートウェイの設定
Red Hat Enterprise Linux 8 ネットワークの設定および管理
第20章 デフォルトのゲートウェイ設定の管理
20.8. NetworkManager が複数のデフォルトゲートウェイを管理する方法
第21章 静的ルートの設定
21.2. nmcli コマンドによる静的ルートの設定
静态路由设置
[上書き設定]
$ sudo nmcli connection modify (connection-name) ipv4.routes "ip[/prefix] [next_hop]"
$ sudo nmcli connection modify (connection-name) ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."
[ルートの追加]
$ sudo nmcli connection modify (connection-name) +ipv4.routes "ip[/prefix] [next_hop]"
$ sudo nmcli connection modify (connection-name) +ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."
[ルートの削除]
$ sudo nmcli connection modify (connection-name) -ipv4.routes "ip[/prefix] [next_hop]"
$ sudo nmcli connection modify (connection-name) -ipv4.routes "ip[/prefix] [next_hop] [metric] [attribute=value] [attribute=value] ..."
在存在多个已激活的连接配置文件时,可以通过指定度量值来控制默认网关的选择。
$ sudo nmcli connection modify (connection-name) ipv4.route-metric (new-metric)
$ sudo nmcli connection modify (connection-name) ipv4.route-metric (new-metric) ipv6.route-metric (new-metric)
查看路由表
$ sudo ip r
$ sudo ip -4 r
$ sudo ip -6 r
$ tracepath -n (ip-address)
$ tracepath -n (internet-hostname)
从man页面的EXAMPLES部分提取
在man页面的最后,有一个名为EXAMPLES的部分,介绍了一些实际的命令示例。我从中挑选了一些我个人感兴趣的。
nmcli connection show –active
アクティブな接続プロファイルを一覧表示する。
nmcli -f name,autoconnect c s
接続プロファイル名と connection.autocnnect プロパティを一覧表示する。
全体的に -f で表示するフィールド名を指定できる。
nmcli -p connection show “My default em1”
“My default em1” 接続プロファイルの詳細を表示する。
全体的に -p により、より分かりやすい表示になる。(-p = –pretty)
nmcli dev disconnect em2
デバイス em2 を切断する。デバイス自体が利用不可能となるため、 autoconnect が有効な接続プロファイルがあっても接続が確立されない。
明示的に nmcli device connect (device-name) するか、デバイスの autoconnect をTRUEにしないと、自動接続が動作しない。
安全
防火墙 (firewalld)
-
- Red Hat Enterprise Linux 7 セキュリティーガイド, 第5章 ファイアウォールの使用
Red Hat Enterprise Linux 8 ネットワークの設定および管理, 第48章 firewalld の使用および設定
firewall-cmdコマンドの使い方 – Qiita
CentOS 7 firewalld よく使うコマンド – Qiita
以下为命令摘要:
[起動/停止/状態確認]
$ sudo systemctl start firewalld.service
$ sudo systemctl stop firewalld.service
$ sudo systemctl status firewalld.service
$ sudo firewall-cmd --state
[自動起動ON/OFF/確認]
$ sudo systemctl enable firewalld.service
$ sudo systemctl disable firewalld.service
$ sudo systemctl is-enabled firewalld.service
[デフォルトゾーン/アクティブゾーンの確認]
$ sudo firewall-cmd --get-default-zone
$ sudo firewall-cmd --get-active-zones
[すべてのゾーン/指定したゾーンの設定確認]
$ sudo firewall-cmd --list-all-zones
$ sudo firewall-cmd --list-all --zone=(zone-name)
[すべてのゾーン/指定したゾーンの恒久的な設定確認]
$ sudo firewall-cmd --list-all-zones --permanent
$ sudo firewall-cmd --list-all --zone=(zone-name) --permanent
[デフォルトゾーンの変更]
$ sudo firewall-cmd --set-default-zone=(zone-name)
$ sudo firewall-cmd --set-default-zone=(zone-name) --permanent
[アクティブゾーンの変更]
$ sudo firewall-cmd --zone=(zone-name) --change-interface=(if-name)
$ sudo firewall-cmd --zone=(zone-name) --change-interface=(if-name) --permanent
[設定の再読み込み]
$ sudo firewall-cmd --reload
[利用可能なサービス一覧]
$ sudo firewall-cmd --get-services
[許可サービスの追加/削除]
$ sudo firewall-cmd --add-service=(service-name) --zone=(zone-name)
$ sudo firewall-cmd --add-service=(service-name) --zone=(zone-name) --permanent
$ sudo firewall-cmd --remove-service=(service-name) --zone=(zone-name)
$ sudo firewall-cmd --remove-service=(service-name) --zone=(zone-name) --permanent
[ポート番号許可の追加/削除]
$ sudo firewall-cmd --add-port=(port-number)/{tcp|udp} --zone=(zone-name)
$ sudo firewall-cmd --add-port=(port-number)/{tcp|udp} --zone=(zone-name) --permanent
$ sudo firewall-cmd --remove-port=(port-number)/{tcp|udp} --zone=(zone-name)
$ sudo firewall-cmd --remove-port=(port-number)/{tcp|udp} --zone=(zone-name) --permanent
[IPアドレス許可の追加/削除]
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=(zone-name)
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=(zone-name) --permanent
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=(zone-name)
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=(zone-name) --permanent
[IPアドレス拒否の追加/削除]
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=drop
$ sudo firewall-cmd --add-source=192.168.0.0/24 --zone=drop --permanent
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=drop
$ sudo firewall-cmd --remove-source=192.168.0.0/24 --zone=drop --permanent
RHEL文档的倒查
RHEL文档有很多种类,找到想要的信息很难。因此,我在此摘录了主要的RHEL文档主题。在使用CentOS构建系统时,可以试着用关键词搜索,并从那里反向引用RHEL文档。希望这对你有帮助。
RHEL8 文档的反向索引
所有的成员/全体成员/全体人员
- Product Documentation for Red Hat Enterprise Linux 8
一般系统设置
「基本的なシステム設定の構成」
日付と時刻
システムロケールの設定
キーボードレイアウトの設定
ネットワーク設定(基礎編)
systemd
ファイアウォールの設定(基礎編)
SELinuxの設定(基礎編)
ユーザーアカウント管理, sudo/sudoers管理, rootユーザパスワードのリセットなど
kdump, syslog設定
yum によるパッケージ管理, 自動更新設定
システムのシャットダウン/再起動
systemd, systemctl によるサービス管理, 独自ユニットファイルの作成
ファイル権限, umask管理
chrony による時刻同期
OpenSSHの設定と管理
rsyslogによるリモートロギング設定
Python, PHP, Tcl/Tk の使用ガイド
「さまざまな種類のサーバーのデプロイメント」
Apache HTTPD
nginx
samba
BIND DNS
NFS
squid
データベース (MariaDB, PostgreSQL)
SMTP(sendmail, postfix), POP/IMAP(Dovecot)
印刷(cups)
「カーネルの監視および更新の管理」
kernel RPMパッケージの構成, yum による更新
kernel モジュールの管理
kernel コマンドラインパラメータ設定
sysctl によるパラメータ設定
データベースサーバ向けのkernelパラメータ調整
printk, dmesg, /var/log/boot.log 等の kernel logging (ring buffer)
kdump の詳細な管理と設定
crash を使ったコアダンプ解析
kernel の live patch
コントロールグループ (cgroups v1, v2) の解説とsystemdによる管理
eBPFとbcc-toolsの紹介
网络与安全
「ネットワークの設定および管理」
デバイス名の命名規則
NetworkManager, nmtui, nmcli によるネットワーク/WiFi設定の詳細
VLAN/ネットワークブリッジ/チーミング/ボンディング設定の詳細
VPN, IPSec 設定の詳細
IPトンネル(IPIP, GRE)の詳細
ポートミラーリングの設定
802.1x標準の使用
ルーティング設定(デフォルトゲートウェイ, 静的ルート)の詳細
ダミーインターフェイスとnetconsoleの紹介
systemd とのインテグレーション
トラフィック制御 (qdiscs, tc)
Multipath TCP の使用
DNSの優先度設定の詳細, /etc/resolv.conf の手動設定
ethtool によるオフロード/コロケーター機能の設定
ping, host ユーティリティの紹介
DHCPサービスの詳細
BIND DNSの設定と管理
firewalld, nftablesの詳細
eBPF と bcc-tools の詳細
その他高度なネットワーク設定の管理
「ネットワークのセキュリティー保護」
OpenSSHの詳細
RHEL8におけるSSL/TLSの設定詳細
IPSec, firewalld, nftables の詳細
「セキュリティー更新の管理および監視」
セキュリティ情報の参照先
セキュリティ更新の一覧取得とインストール
「セキュリティーの強化」
システム全体の暗号化ポリシー設定
FIPSモードの使用
Crypto Policies を使ったカスタム暗号ポリシーの設定
PKCS#11 で暗号化ハードウェアを使用する設定
証明書ストアの管理と証明書の追加
SCAPを使った設定コンプライアンスと脆弱性スキャン
LUKSを使用したブロックデバイスの暗号化
auditd を使ったシステム監査
USBGuard によるUSBデバイスからの保護
その他高度なセキュリティ設定
「SELinuxの使用」
Permissive/Enforcingモードの切り替えと無効化
制限のあるユーザ/ないユーザ, sysadm_u による管理者の制約, sudo と sysadm_r ロールによる制約
トラブルシューティングとauditログ
MLS(Multi-Level Security) の詳細
カスタムSELinuxポリシーの作成
コンテナのSELinuxポリシーの作成
SELinux設定のデプロイメント
GNOME桌面环境:
「RHEL 8 でデスクトップ環境の使用」
GNOME3, GNOME Standard / Classic の紹介と選択方法, カスタマイズ方法
リモートデスクトップアクセス(VNC)
GNOME設定 (dconf, gsettings)
GNOMEのカスタマイズ
日本語入力のインストール
开发者:
「RHEL 8 での C および C ++ アプリケーションの開発」
gccによるC/C++のコンパイルとビルド, 静的/動的ライブラリ作成
make, Makefile によるソースコード管理
デバッグ情報の使用とgdbによるデバッグ
strace/ltrace/SystemTap/gdbによるシステムコールのトレースと監視
コアダンプ解析
GCC Toolset 9/10 とbinutilsの紹介
「Product Documentation for OpenJDK 11」
「RHEL での OpenJDK 11 のインストールおよび使用 OpenJDK 11」
yum/dnfによるOpenJDKのインストールと更新
「RHEL での OpenJDK 11 の設定 OpenJDK 11」
複数バージョンのOpenJDKのインストールと切り替え方法( alternatives –config java など )
「ソフトウェアのパッケージ化および配布」
RPMパッケージの作成と署名, サンプル紹介