Centos7新功能
Centos7新功能
Centos7 單使用者模式
centos7裡不再有0-6啟動級別,而是4個target
graphical.target 多人模式,支援圖形和命令列兩種登入,對應之前的3,5級別
multi-user.target 多人模式,只支援命令列登入,對應之前的3級別
rescue.target 單人模式,對應之前的1級別
emergency.target 單人模式,不過系統進入後根目錄是隻讀的
centos7採用的是grub2,和之前的方式有所不同
在對應的核心條目上,按下"e",會進入edit模式,搜尋ro那一行,以linux16開頭的,按“end”鍵到最後,輸入rd.break,再按ctrl+x進入
進去後重新掛載 /sysroot/,增加寫許可權
mount -o remount,rw /sysroot/
切換到原始系統下
chroot /sysroot/
passwd
修改密碼輸入新密碼
touch /.autorelabel //這句是為了selinux生效
退出單使用者的方法是
先ctrl+d 退出,然後reboot
1.3 centos7救援模式
設定光碟機啟動
選擇Troubleshooting
選擇Rescure a centos system
選擇continue
chroot /mnt/sysimage
passwd
1.4 設定IP
網路卡名字不再是eth0、eth1
dhclient先自動獲取ip
沒有 ifconfig命令,要使用 ip add 檢視ip
要想繼續使用 ifconfig,需要安裝 net-tools
yum install -y net-tools
編輯配置檔案
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
裡面配置和centos6一樣
1.5 設定主機名 && 設定命令自動補全
hostname 檢視主機名
hostnamectl set-hostname test1
hostnamectl status //檢視主機名狀態
cat /etc/hostname //檢視配置檔案
centos7支援命令引數補全
安裝 bash-completion
yum install -y bash-completion
source /etc/profile
1.6 centos7服務相關
centos7 不再有chkconfig工具了,而是使用systemd
使某服務自啟動 systemctl enable httpd.service
不自啟動 systemctl disable httpd.service
檢視服務狀態 systemctl status httpd.service
檢視所有服務 systemctl list-units --type=service
啟動服務 systemctl start httpd.service
停止服務 systemctl stop httpd.service
重啟服務 systemctl restart httpd.service
啟動指令碼路徑 /usr/lib/systemd/system/
檢查一個服務是否為開機啟動 systemctl is-enabled httpd
1.7 centos7 systemd-unit
systemd管理服務的機制的特點:
支援服務並列啟動,不用順序啟動,從而開機時間縮短
支援自動檢測服務依賴的服務
Systemd 可以管理所有系統資源。不同的資源統稱為 Unit(單位)。
Unit 一共分成12種型別
Service unit:系統服務 Target unit:多個 Unit 構成的一個組
Device Unit:硬體裝置 Mount Unit:檔案系統的掛載點
Automount Unit:自動掛載點 Path Unit:檔案或路徑
Scope Unit:不是由 Systemd 啟動的外部程式
Slice Unit:程式組 Snapshot Unit:Systemd 快照,可以切回某個快照
Socket Unit:程式間通訊的 socket Swap Unit:swap 檔案
Timer Unit:定時器
列出正在執行的 Unit systemctl list-units
列出所有Unit,包括沒有找到配置檔案的或者啟動失敗的
systemctl list-units --all
列出所有沒有執行的 Unit systemctl list-units --all --state=inactive
列出所有載入失敗的 Unit systemctl list-units --failed
列出所有正在執行的、型別為 service 的 Unit
systemctl list-units --type=service
顯示某個 Unit 是否正在執行 systemctl is-active application.service
顯示某個 Unit 是否處於啟動失敗狀態
systemctl is-failed application.service
顯示某個 Unit 服務是否建立了啟動連結
systemctl is-enabled application.service
1.8 centos7 systemd-target
target類似於centos6裡面的啟動級別,但target支援多個target同時啟動。target其實是多個unit的組合,系統啟動說白了就是啟動多個unit,為了管理方便,就使用target來管理這些unit。
檢視當前系統的所有 Target
systemctl list-unit-files --type=target
檢視一個 Target 包含的所有 Unit
systemctl list-dependencies multi-user.target
檢視啟動時的預設 Target systemctl get-default
設定啟動時的預設 Target systemctl set-default multi-user.target
切換 Target 時,預設不關閉前一個 Target 啟動的程式,
systemctl isolate 命令改變這種行為,關閉前一個 Target 裡面所有不屬於後一個 Target 的程式
systemctl isolate multi-user.target
1.9 centos7 target關聯unit
主配置檔案 /etc/systemd/system.conf
開機會先載入/etc/systemd/system/default.target
所有的service和target在 /usr/lib/systemd/system/
ls -l /etc/systemd/system/defaut.target 是一個軟連線
軟連線到了/usr/lib/systemd/system/multi-user.target
它會載入/usr/lib/systemd/system/multi-user.target.wants下面的service
檢視一個service屬於哪個target,需要cat 具體的service檔案
cat /usr/lib/systemd/system/sshd.service
看裡面[install]部分
2.0 centos7 繼續使用centos6的iptables管理機制
centos7不再使用iptables,而是使用firewalld
若不想使用firewalld,繼續使用iptables,可以停掉firewalld,並且安裝iptables-services包
systemctl stop firewalld
systemctl disable firewalld
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
firewalld 的使用
centos6上使用的靜態防火牆,規則儲存在/etc/sysconfig/iptalbes, 更新規則,需要重新載入或者重啟iptables服務,相當於是把之前的規則全部清空,再把配置檔案裡面的規則載入。
而centos7使用了動態防火牆,即firewalld,這種防火牆方案不再像之前,更改了規則不需要重新載入配置。
無論是firewalld還是之前的iptables服務,底層都是使用iptables工具來配置規則的。
fiewalld有zone和service的概念
每一個zone裡面的iptables規則不一樣,預設有9個zone。
centos7的預設zone是public
使用命令 firewall-cmd --get-zones 獲取所有的zone
使用命令 firewall-cmd --get-default-zone 獲取預設的zone
2.1 centos7 firewalld的zone
drop(丟棄) 任何接收的網路資料包都被丟棄,沒有任何回覆。僅能有傳送出去的網路連線。
block(限制)任何接收的網路連線都被 IPv4 的 icmp-host-prohibited 資訊和 IPv6 的 icmp6-adm-prohibited 資訊所拒絕。
public(公共)在公共區域內使用,不能相信網路內的其他計算機不會對您的計算機造成危害,只能接收經過選取的連線。
external(外部)特別是為路由器啟用了偽裝功能的外部網。您不能信任來自網路的其他計算,不能相信它們不會對您的計算機造成危害,只能接收經過選擇的連線。
dmz(非軍事區)用於您的非軍事區內的電腦,此區域內可公開訪問,可以有限地進入您的內部網路,僅僅接收經過選擇的連線。
work(工作)用於工作區。您可以基本相信網路內的其他電腦不會危害您的電腦。僅僅接收經過選擇的連線。
home(家庭)用於家庭網路。您可以基本信任網路內的其他計算機不會危害您的計算機。僅僅接收經過選擇的連線。
internal(內部) 用於內部網路。您可以基本上信任網路內的其他計算機不會威脅您的計算機。僅僅接受經過選擇的連線。
trusted(信任)可接受所有的網路連線。
指定其中一個區域為預設區域是可行的。當介面連線加入了 NetworkManager,它們就被分配為預設區域。安裝時,firewalld 裡的預設區域被設定為公共區>域。
2.2 centos7 firewalld的zone相關命令
設定預設的zone firewalld-cmd --set-default-zone=work
檢視指定網路卡所在的zone
firewall-cmd --get-zone-of-interface=eno16777736
給指定的網路卡設定zone firewall-cmd --zone=public --add-interface=lo
針對網路卡更改zone firewall-cmd --zone=dmz --change-interface=lo
也可以針對網路卡刪除zone
firewall-cmd --zone=dmz --remove-interface=lo
檢視所有網路卡所在的zone firewall-cmd --get-active-zones
2.3 centos7 firewalld service操作
在 /usr/lib/firewalld/services/ 目錄中,還儲存了另外一類配置檔案,每個檔案對應一項具體的網路服務,如 ssh 服務等
與之對應的配置檔案中記錄了各項服務所使用的 tcp/udp 埠,在最新版本的 firewalld 中預設已經定義了 70+ 種服務供我們使用
zone就是呼叫了不同的service而實現了不同的效果
列出所有的service: firewall-cmd --get-services
列出當前zone下載入的service: firewall-cmd --list-services
檢視某個zone下面的service:firewall-cmd --zone=public --list-services
給一個zone下面新增一個service:
firewall-cmd --zone=public --add-service=http
這個改動不會儲存到配置檔案裡,要想儲存到配置檔案中,需要加上--permanent
firewall-cmd --zone=public --add-service=http –-permanent
既然可以增加,同樣也可以刪除
firewall-cmd --zone=public --remove-service=http --permanent
2.4 centos7 firewalld 增加規則
假設自定義的 ssh 埠號為 12222,使用下面的命令來新增新埠的防火牆規則
firewall-cmd --add-port=12222/tcp --permanent
如果需要使規則儲存到 zone 配置檔案,則需要加引數 --permanent
防火牆配置檔案也可以手動修改,修改後記得過載,重新載入的命令是
firewall-cmd --reload 這種情況下重新載入防火牆並不會中斷使用者連線,也可以徹底載入,這時候會中斷使用者連線,也會丟棄狀態資訊
firewall-cmd --complete-reload
還可以新增一個埠範圍
firewall-cmd --add-port=2000-4000/tcp
針對某個zone新增埠
firewall-cmd --permanent --zone=home --add-port=443/tcp
啟用埠轉發,例如把22埠轉發到127.0.0.2
firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
2.5 centos7 firewalld 更改配置檔案
兩個路徑/etc/firewalld/和/usr/lib/firewalld
系統使用的是/etc/firewalld下面的配置檔案
在/etc/firewalld/zones下面只有一個public.xml,如果給另外一個zone做一些改動,並永久儲存,那麼會自動生成對應的配置檔案
比如,給work zone增加一個埠
firewall-cmd --permanent --zone=work --add-port=1000/tcp
此時就會生成一個work.xml配置檔案
需求: 修改ftp的埠,預設ftp埠是21,需要改為1121
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
vi /etc/firewalld/services/ftp.xml //把21改為1121
vi /etc/firewalld/zones/work.xml //work為預設zone,所以要編輯這個,增加一行 <service name="ftp"/>
firewall-cmd --reload //重新載入
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-2214440/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Instrumentation 新功能
- Nodejs 的新功能NodeJS
- ENVI6.1新功能
- Spring Security 6.3 新功能Spring
- 5 個 CSS 新功能CSS
- 使用Java新功能StackWalkerJava
- Denpendcy Injection 8.0新功能——KeyedService
- Java 20 新功能介紹Java
- Java 18 新功能介紹Java
- Hadoop 3.0 中的新功能Hadoop
- Java 16 新功能介紹Java
- Kubernetes 支援 OpenAPI 的新功能API
- ECMAScript 2021主要新功能 – thenewstack
- 12個蘋果iOS 12新功能彙總!iOS12新功能有哪些?蘋果iOS
- centos7 firewallCentOS
- Centos7 KVMCentOS
- 【VMware vSAN】VMware vSAN 9 新功能?
- Spring Modulith 1.3 有哪些新功能?Spring
- ENVIDeepLearning1.1新功能預覽IDE
- office 2019 新功能是什麼?
- C#12新功能有哪些?C#
- PostgreSQL 16 三則 “新功能更新”SQL
- Java 23:新功能正式公佈Java
- React 18 中的新功能 - enlearReact
- Java 8 後的新功能梳理Java
- Java 17 新功能介紹(LTS)Java
- Flutter 2.2 全新功能介紹Flutter
- 【譯】Flutter 2.2中的新功能Flutter
- Flutter 熱更新功能實現Flutter
- github 新功能 profile README.mdGithub
- SOLIDWORKS 2022 Simulation新功能介紹Solid
- 介紹Kubernetes 1.5的新功能
- forall在10g新功能
- Chrome 74 帶來的新功能Chrome
- Android 9.0中的新功能 - PrecomputedTextAndroid
- Bash 5.0 釋出及其新功能
- Chrome 73 DevTools 新功能之 LogpointsChromedev
- WWDC 2018: ARKit 2 的新功能