linux覆盤:基礎篇四(完)

linux網絡相關

ifconfig查看網卡ip(yum install net-tools)php

ifconfig -a 若是沒有網卡就不會顯示iplinux

單獨重啓一個網卡:ifup ens33/ifdown ens33windows

或者同時進行:使用 ifdown ens33 && ifup ens33centos

查看網卡是否鏈接方法一: mii-tool ens33 提示:link ok正常網絡

查看網卡是否鏈接方法二: ethtool ens33 提示:Link detected:yes正常ssh

增長一塊虛擬網卡ens33:0tcp

cd /etc/sysconfig/network-scripts/工具

cp ifcfg-ens33 ifcfig-ens33:0centos7

vi ifcfig-ens33:0 刪除網關GATEWAY和DNS並匹配一個ip地址spa

再重啓此網卡即成功

 修改主機名 hostnamectl set-hostname aminglinux 從新登陸修改爲功

防火牆相關故事

centos7以前使用netfilter防火牆(iptables規則)

centos7開始使用firewalld防火牆(之後防火牆使用這個)

selinux臨時關閉 setenforce 0

selinux永久關閉 vi /etc/selinux/config selinux修改此處爲disabled,reboot重啓生效

關閉firewalld:systemctl disable firewalled 先暫停,不讓開機啓動

                        systemctl stop firewalld 關閉服務

關閉iptables:systemctl disable iptables

                       systemctl stop iptables

iptables語法:

最經常使用的表,有INPUT、FORWARD、OUTPUT三個鏈

 INPUT:經過路由表後目的地爲本機

 FORWARD:經過路由表後,目的地不爲本機

 OUTPUT:由本機產生,向外發出

nat表用於網絡地址轉換,有PREROUTING、OUTPUT、POSTROUTING三個

REROUTING:數據包進入路由表以前更改數據包

POSTROUTING:發送到網卡接口以前更改數據包

把從ip地址188.1來源端口1234發送到188.128目標端口80的包拒絕

iptables -A INPUT -s 192.168.188.1 -p tcp --sport 1234 -d 192.168.188.128 --dport 80 -j DROP

默認表爲filter,須要指定nat表加入-t nat

-A增長一個規則 -I插入一條規則 -D刪除一條規則

-s來源ip -d目標ip

-p使用什麼協議

--sport來源端口 --dport目標端口

-j DROP 扔掉,直接拒毫不讀取

REJECT 拒接,數據包到後先檢查再拒絕

ACCEPT容許進入

指定網卡爲eth0的

iptables -I INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT

有個東西叫默認策略:

須要加入 -m state --state RELATED,ESTABLISHED

目的是在相關的數據包相互鏈接的過程當中,爲了讓他們順利鏈接,因此加入的狀態,沒有這個規則可能會出現不能正常通訊,加上後通暢通訊

nat表應用

A機器兩塊網卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33能夠上外網,ens37僅僅是內部網絡,B機器只有ens37(192.168.100.100),和A機器ens37能夠通訊互聯

要想實現nat應用,必須打開端口轉發,讓/proc/sys/net/ipv4/ip_forward的數值爲1

echo "1">/proc/sys/net/ipv4/ip_forward

A上執行iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

B上設置網關

由於以前是用ifconfig ens37臨時設置的ip,全部沒有網關,如今須要:

route add default gw 192.168.100.1來設置

route -n 查看

crontab任務計劃

crontab -u :指定某個用戶,不加-u選項則爲當前用戶;

crontab -e :制定計劃任務;

crontab -l :列出計劃任務;

crontab -r :刪除計劃任務。

格式:分 時 日 月 周 user command

要保證服務是啓動狀態

systemctl start crond.service

ps aux | grep crond 查看啓動沒有

systemctl status crond 也能夠查看,綠色表示啓動

計劃中使用絕對路徑能夠避免錯誤,find使用/usr/bin/find,用whcih find來查絕對路徑

注意最好追加日誌,正確輸出和錯誤輸出

練習題來一波:

天天凌晨1點20分清除/var/log/slow.log這個文件

20 1 * * * echo "" > /var/log/slow.log

每週日3點執行 「/bin/sh /usr/local/sbin/backup.sh」

0 3 * * 7 /bin/sh /usr/local/sbin/backup.sh

每個月14號4點10分執行 「/bin/sh /usr/local/sbin/backup_month.sh」

10 4 14 * * /bin/sh /usr/local/sbin/backup_month.sh

每隔8小時執行 「ntpdate time.windows.com」

0 */8 * * * ntpdate time.windows.com

天天的9點到18點執行 「/bin/sh /usr/local/sbin/test2.sh」

0 9-18 * * * /bin/sh /usr/local/sbin/test2.sh

systemd管理服務

幾個經常使用的服務相關的命令

systemctl enable crond.service //讓服務開機啓動

systemctl disable crond //不讓開機啓動

systemctl status crond //查看狀態

systemctl stop crond //中止服務

systemctl start crond //啓動服務

systemctl restart crond //重啓服務

systemctl is-enabled crond //檢查服務是否開機啓動

rsync傳輸工具

rsynv -av /etc/passwd /tmp/1.txt

rsync -av /etc/passwd root@192.168.130.2:/tmp/1.txt (root用戶能夠忽略@前的內容)

rsync -avL,給軟連接加上-L,會使軟連接的源文件同步

rsync經過ssh同步

若是對方端口不一樣,-e指定端口 -e "ssh -p 22"

rsync -av -e "ssh -p 22" test1/ 192.168.130.2:/tmp/1.txt

rsync經過服務的方式同步(未記錄用到了翻筆記)

linux系統日誌

/var/log/messages

/etc/logrotate.conf 日誌切割配置文件

dmesg命令

會把系統硬件相關的日誌列出來,例如網卡出現問題就會保存在這裏

dmesg -c 清空

/var/log/dmesg 是系統啓動記錄的一些信息,和dmesg沒有關係

last命令,調用的文件/var/log/wtmp,查看正確的登陸信息

lastb命令,查看登陸失敗的用戶,對應的文件時/var/log/btmp,登陸失敗的記錄,若是有人暴力破解就有記錄

/var/log/secure 登陸成功不成功都會記錄

tail -f /var/log/messages (動態顯示很是實用)

screen工具

虛擬的終端,爲了避免讓一個任務意外中斷,關機也不終端的那種

yum install -y screen

screen直接回車就進入了虛擬終端

ctral+a組合鍵再按d退出虛擬終端,但不是結束繼續運行

screen -ls 查看虛擬終端列表

screen -r id 進入指定的終端

exit殺死這個任務

一個screen裏面寫一個任務,再使用screen進入另外一個screen虛擬終端寫一個任務

screen -S 「quyifan」 爲了方便區分,能夠自定義名字

進入這個screen也能夠用名字進入,screen -r quyifan

相關文章
相關標籤/搜索