十(5)firewalld的9個zone、firewalld關於zone、service的操作、
之前的操作中我是打開了iptables服務,現在我們先關閉iptables服務,打開firewalld服務。
systemctl disable iptables
systemctl stop iptables
systemctl enable firewalld
systemctl start firewalld
iptables -nvL 查看默認規則
firewalld的9個zone(默認zeno為public)
查看所有zone
firewall-cmd --get-zones
查看默認的zone
firewall-cmd --get-default-zone
firewalld關於zone的操作
1.設置默認的zone
firewall-cmd --set-default-zone=work
2.查看指定網卡的zone
firewall-cmd --get-zone-of-interface=ens33
如果我們新增的網卡沒有zone怎麽辦?
方法一:(使網卡的zone自動變為默認zone)
(1)復制一份配置文件:
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens3
(2)修改配置文件
(3)重啟網絡服務:systemctl restart network.service
(4)重新加載firewalld服務:systemctl restart firewalld
方法二:(給指定網卡添加指定的zone)
firewall-cmd --zone=public --add-interface=ens37
針對網卡更改zone:(改為block)
firewall-cmd --zone=block --change-interface=ens37
針對網卡刪除zone:
firewall-cmd --zone=block --remove-interface=ens37
查看系統所有網卡所在的zone
firewall-cmd --get-active-zones
firewalld關於service的操作
firewalld的9種zone之所以不同是因為不同的zone都有不同的service,而service就是真的一個服務(端口)做的iptables規則。
查看所有的servies:
firewall-cmd --get-services
查看當前zone下遊哪些service
firewall-cmd --list-services ( firewall-cmd --list-service)
查看指定的zone下有什麽service:
firewall-cmd --zone=public --list-services
把http增加到public zone下面:
firewall-cmd --zone=public --add-service=http
此時的zone的服務僅僅是增加在內存裏,要想增加到配置文件中需要加一個選項--permanent
zone的服務增加到配置文件中
更改配置文件
firewall-cmd --zone=public --add-service=ftp --permanent
zone的配置文件模板:
ls /usr/lib/firewalld/zones/
ls /usr/lib/firewalld/servics/
需求:ftp服務自定義端口1121,需要在work zone下面放行ftp
(使用配置文件方法操作)
1.復制
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
2.編輯:vim /etc/firewalld/services/ftp.xml
3.復制:
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
4.編輯:vim /etc/firewalld/zones/work.xml
增加一行內容 <service name="ftp"/>
5.重新加載:firewall-cmd --reload
此時我們已經完成在work zone下放行ftp
Linux 任務計劃 cron
任務計劃的配置文件: /etc/crontab
(圖中:MAILTO 表示發送任務計劃給誰)
crontab:
-u:表示指定某個用戶,不加-u則為當前用戶
-e :表示制定計劃任務(進入到編輯模式)
-l :列出計劃任務
-r: 刪除計劃任務
進入編輯模式 : crontab -e
(編寫任務計劃crond服務是如果執行一個bash/命令,寫它的絕對路徑)
指定執行範圍:
(
分範圍0-59,時範圍0-23,日範圍1-31,月範圍1-12,周1-7
可用格式1-5表示一個範圍1到5
可用格式1,2,3表示1或者2或者3
可用格式*/2表示被2整除的數字,比如小時,那就是每隔2小時)
表示每天淩晨3點 每個月1-20號 每年的雙月,每周的星期2、5去運行任務。
編寫完任務需要啟動crond這個服務需要執行:
systemctl start crond
檢查是否啟動成功:
方法一:ps aux |grep cron
方法二:systemctl status crond
(停止crond 啟動:systemctl stop crond )
( 要保證服務是啟動狀態
systemctl start crond.service)
制定一個計劃:
crontab -l (列出計劃任務)
crontab文件在哪裏呢?
/var/spool/cron
(查看root用戶的crontab文件。
如果查看其他用戶的crontab文件: cat /var/spool/cron/用戶名)
備份計劃任務:cp /var/spool/cron/用戶名 /絕對路徑/
cp /var/spool/cron/root /tmp/cansheng/root.bk
Linux系統服務管理-chkconfig
chkconfig工具
(在centos7之前都是用chkconfig工具的,但是在centos7後也能用,但是不作為裏面的工具)
查看當前有哪些系統服務使用chkconfig工具:
chkconfig --list
(此時只有netconsole和network服務了)
netconsole和network服務所在處?
/etc/init.d
把一個服務狀態做變更:
chkconfig network off
chkconfig network on
指定某級別的狀態:關閉/開啟
chkconfig --level 3 network off
chkconfig --level 235 network off (切記不要把0和6開啟)
修改配置文件,更改運行級別:vi /etc/inittab (在centos7已經是不使用)
把一個自定義的腳本加入到我們的服務列表:(例如自定義腳本名為:123)
1.進入到 /etc/init.d文件中
2.把自定義腳本(123)放到 /etc/init.d 下(mv/cp)
3.chkconfig --add 123
4.查看是否加進來了:chkconfig --list
自定義的腳本名字可以自定義,但是內容有格式:
1.首先是個shell腳本;
2.
刪除自定義的服務:chkconfig --del 123
systemd管理服務
Linux系統服務管理-systemd
查看系統所有的service:
systemctl list-units --all --type=service
提示命令:
幾個常用的服務相關的命令:
(1)讓服務開機啟動
systemctl enable crond.service (.service可以省略)
(2)不讓開機啟動
systemctl disable crond.service (.service可以省略)disable表示開機不再啟動
( 3 )查看狀態:
systemctl status crond
(4)停止服務
systemctl stop crond
(5)啟動服務
systemctl start crond
(6)重啟服務
systemctl restart crond
(7)檢查服務是否開機啟動:
systemctl is-enabled crond
十(5)firewalld的9個zone、firewalld關於zone、service的操作、