您好,登錄后才能下訂單哦!
systemctl對于Linux來說,就是一個init程序,可以作為sysVinit和Upstat的替代。
centos7的服務腳本存放在:/usr/lib/systemd/,有系統(system)命令和用戶(users)命令之分,像需要開機不登錄的就能運行的服務存在系統的服務里,即:/usr/lib/systemd/system目錄下,每一個服務以.server結尾。一般會分為三個部分:[unit][service][install]
[unit]:部分主要是對這個服務的說明,內容包括描述和after,其中after由于描述服務類型
[service]:部分是服務的主要部分,是服務的一些具體運行的參數的設置,這里type-forKing是后臺運行的形式,pidfiel為存放PID的文件路徑,execstart為服務的具體運行命令,
[install]:部分是服務安裝的相關設置,可設置為對用戶的。
systemctl命令作為service和chkconfig命令的結合。
systemctl命令的基本操作格式:
systemctl 動作 .service(服務名稱)
systemctl 或systemctl list-units //輸出激活的單元
systemctl list-units --type=service //列出active狀態的服務
systemctl list-unit-files //列出所有已安裝的服務
systemctl --failed //顯示啟動失敗的服務
所有的可用的單元文件存放在/usr/lib/systemd/system 和/etc/systemd/syetem/目錄(或者的優先級高)
使用單元:
一個單元可以是:(.service)(.mount )(.sockets)
systemctl start //立即啟動單元
systemctl stop //停止單元
systemctl restart //重啟單元
systemctl reload //重新加載單元配置
systemctl status // 輸出單元運行狀態
systemctl is-enabled //檢查單元是否設置為自動啟動
systemctl enable //開機自動啟動單元
systemctl disable //取消開機自動啟動單元
systemctl is-active //查看單元是不是正在運行
systemctl daemon-reload //重新載入systemd 掃描新的或有變動的單元。
電源管理:
systemctl reboot // 重啟
systemctl poweroff //關機
可以通過type來過濾掉其他的類型的單元
systemctl list-unit-files -type service
centos7已經默認使用firewalld作為防火墻了,其實用的方法已經變化,基于iptables的防火墻被默認不啟動,但任然可以繼續使用。
centos7中有firewalld ,IPtables ,ebtables 等防火墻共存,默認使用firewalld作為防火墻,管理工具是firewalld-config和firewalld-cmd來管理。
1)systemctl status {firewalld,iptables,ebtables} //查看各類防火墻的運行狀態
2)禁用防火墻iptables,:systemctl mask iptables 或
for service in iptables ebtables;do
systemctl mask $(service).service
done //利用for循環語句來禁用
3)取消禁用防火墻iptables:systemctl unmask iptables
4)查看幾種服務是否正在運行
systemctl status 服務名 或 systemctl is-active 服務名
firewalld 提供了支持網絡/防火墻區域定義網絡鏈接以及接口安全等級的防火墻管理工具,擁有運行時配置和永久配置選項。它也支持允許服務或者應用程序直接添加防火墻規則的接口,以前的iptables使靜態的,每次修改完之后需要重新加載,相反,firewalld的防火墻不需要重啟整個防火墻便可。
firewalld區域的概念:
數據包通過到內核必須要通過這些zone中的一個,而不同的zone里定義的規則不一樣,可以根據網卡所連接的網絡的安全性來判斷,這張網卡的流量到底是使用哪個zone,比如eth0的流量全部使用zone1的過濾規則,Eth2使用的流量為zone2
預定義的服務:就是端口和協議號入口的集合
端口和協議:定義了tcp和udp端口,端口可以是一個或者端口范圍
ICMP阻塞:可以選擇internet控制報文協議的報文,這些報文可以是信息請求也可以是對信息請求或錯誤條件創建的響應。
偽裝:私有網絡地址可以被映射到公網的ip地址,這是一次正規的地址轉換。
端口轉發:端口可以映射到另一個端口以及其他主機
1)丟棄區域(drop zone)如果使用丟棄區域,任何進入該區域的數據包將被丟棄,這里類似于我們之前學過的iptables -j DROP 使用丟棄區域將不再有任何的響應
2)阻塞區域(block zone)阻塞區域會拒絕進入的網絡連接,返回icmp-host-prohibited ,只有服務器已經建立連接會被通過即只允許該系統初始化的網絡連接。
3)外部區域(external zone)這個區域相當于路由的啟用偽裝選項,只有指定的連接會被接受,即ssh 其他的連接將被丟棄或者不被接受。
4)公共區域(public zone) 只接受那些被選中的連接,默認只允許ssh和dhcp6-client.這個zone是缺省區域。
5)隔離區域(DMZ zone) 如果想要只允許給部分的服務能夠被外部訪問,可以在此區域中定義,它也擁有只通過被選中的連接的特性,即ssh。
6)工作區域(work zone) 在這個區域,我們只能定義內部網絡,比如私有網絡通信才能被允許。
7)家庭區域(home zone) 這個區域專門用于家庭網絡,它同樣只允許被選中的連接才能通過和home區域一樣。
8)內部區域(internal zone) 這個區域和工作區域類似,只有通過被選中的連接才能通過。
9)信任區域(trust zone) 信任區域允許所有的網絡通過,因為trusted是最被信任的,即使沒有任何服務,那么也是被允許的,因為trusted是允許所有連接的。
firewall-cmd --state //獲取firewalld的狀態
firewall-cmd --reload //在不改變狀態的情況下重新加載防火墻
firewall-cmd --get-zone //獲取支持的區域列表
firewall-cmd --get-services //獲取所有支持的服務
想要列出默認的有效服務,也可以進入下面的目錄也可以獲取
cd /usr/lib/firewalld/services/*.xml
想要自己定義某個服務,就可以修改這里的配置文件就可以了
firewall-cmd --get-icmptypes //獲取所有支持的icmp類型
firewall-cmd --list-all-zones //列出全部啟用的區域的特性
firewall-cmd --zone=public --list-all //列出制定區域的全部特性
firewall-cmd --get-default-zone //查看默認的區域
在文件/etc/firewalld/firewalld.conf可以定義成defaultzone=public
firewall-cmd --set-default-zone=區域名稱 //設置默認區域
firewall-cmd --get-active-zones //獲取活動的區域
firewall-cmd --get-zone-of-interface=網卡名稱 //查看某個接口屬于哪個zone
firewall-cmd --add-interface =網卡名稱 --zone=區域名稱 //將指定接口加入到某個區域
firewall-cmd --change-interface=網卡名稱 --zone=區域名稱 //將某個接口轉移到另一個zone
firewall-cmd --remove-interface=網卡名稱 --zone=區域名稱 //將某個接口從指定的區域刪除
firewall-cmd --query-interface=網卡名稱 --zone=區域名稱 //查看某個區域是否包含所查詢的接口
firewall-cmd --list-services --zone=區域名稱 // 列出區域中的所啟用的服務
firewall-cmd --panic-on //啟用應急模式阻斷所有的連接,以防出現緊急狀況
firewall-cmd --panic-off //禁用緊急模式
firewall-cmd --query-panic //查詢緊急模式
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。