1. 程式人生 > >linux高級運維之×××,pssh工具使用

linux高級運維之×××,pssh工具使用

pssh ons dir selinux 路徑 xixi mail right mct

搭建***虛擬專線:

GRE ××× 只支持linux   內核內置的功能  內核也是模塊化設計的 
PPTP ×××    通信不加密  被發現了容易被加防火墻
L2TP+IPSEC ×××  通信加密  專有通道

走公網ip的線路 再在這個線路上開一個私有的線路192。。***
linux系統天生就是路由器!! echo "1" > /proc/sys/net/ipv4/ip_forward 打開路由功能

GRE ×××:
啟用內核模塊ip_gre
創建一個虛擬×××隧道(10.10.10.0/24)
實現兩臺主機點到點的隧道通訊

    使用lsmod查看當前計算機已經加載的模塊
    使用modprobe加載Linux內核模塊
    使用modinfo可以查看內核模塊的信息
    modprobe ip_gre         並沒有開機自動加載
    lsmod |grep -i gre      
    modinfo ip_gre
    filename:   /lib/modules/3.10.0-693.el7.x86_64/kernel/net/ipv4/ip_gre.ko.xz
            存在這個路徑下。
    tunnel 隧道   remote遠程的       peer同等的人

步驟:
modprobe ip_gre 啟用GRE模塊
ip tunnel add tun0 mode gre remote 201.1.2.10 local 201.1.2.5 創建隧道
ip link show tun0
ip link set tun0 up 啟用該隧道
ip addr add 10.10.10.5/24 peer 10.10.10.10/24 dev tun0 配置隧道IP地址
//為隧道tun0設置本地IP地址(10.10.10.10.10/24)
//隧道對面的主機IP的隧道IP為10.10.10.5/24
ip a s tun0
開啟路由轉發,關selinux,防火墻
echo "1" > /proc/sys/net/ipv4/ip_forward

setenforce 0
firewall-cmd --set-default-zone=trusted
[root@client ~] 另外一臺也要建隧道,重復上面操作 ip對調一下
驗證:
ping 10.10.10.5 相互ping通

pptp ***: 通信不加密
使用PPTP協議創建一個支持身份驗證的隧道連接
使用MPPE對數據進行加密
為客戶端分配192.168.3.0/24的地址池
客戶端連接的用戶名為jacob,密碼為123456
步驟:
yum -y install pptpd //安裝pptp軟件
rpm -qi pptpd
rpm -qc pptpd
修改配置文件 :三個

vim /etc/pptpd.conf
localip 201.1.2.5 //服務器本地IP
remoteip 192.168.3.1-50 //遠程的ip分配為
vim /etc/ppp/options.pptpd
require-mppe-128 //使用MPPE加密數據
ms-dns 8.8.8.8 //DNS服務器
vim /etc/ppp/chap-secrets //修改賬戶配置文件
jacob 123456
//用戶名 服務器標記 密碼 客戶端
echo "1" > /proc/sys/net/ipv4/ip_forward //開啟路由轉發
firewall-cmd --set-default-zone=trusted
systemctl start pptpd
systemctl enable pptpd
×××設置 //啟用snat轉發
iptables -t nat -A POSTROUTING -s 192.168.3.0/24 \

-j SNAT --to-source 201.1.2.5
客戶端設置:
啟動一臺Windows虛擬機,將虛擬機網卡橋接到public2,配置IP地址為201.1.2.20
新建網絡連接,輸入×××服務器賬戶與密碼,連接×××並測試網絡連通性

L2TP+IPSEC ×××:
使用L2TP協議創建一個支持身份驗證與加密的隧道連接
使用IPSec對數據進行加密
為客戶端分配192.168.3.0/24的地址池
客戶端連接的用戶名為:jacob,密碼為:123456
預共享密鑰為:randpass
步驟:
部署IPSec服務
yum -y install libreswan
rpm -qc libreswan
cat /etc/ipsec.conf
include /etc/ipsec.d/.conf //加載該目錄下的所有配置文件
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,
%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
新建IPSec密鑰驗證配置文件
vim /etc/ipsec.d/myipsec.conf
//新建該文件,參考lnmp_soft/***/myipsec.conf
conn IDC-PSK-NAT
rightsubnet=vhost:%priv //允許建立的×××虛擬網絡
also=IDC-PSK-noNAT
conn IDC-PSK-noNAT
authby=secret //加密認證
ike=3des-sha1;modp1024 //算法
phase2alg=aes256-sha1;modp2048 //算法
pfs=no
auto=add
keyingtries=3
rekey=no
ikelifetime=8h
keylife=3h
type=transport
left=201.1.2.200 //重要,服務器本機的外網IP
leftprotoport=17/1701
right=%any //允許任何客戶端連接
rightprotoport=17/%any
cat /etc/ipsec.secrets //僅查看,不要修改該文件
include /etc/ipsec.d/
.secrets
創建IPSec預定義共享密鑰
vim /etc/ipsec.d/mypass.secrets
201.1.2.200 %any: PSK 123456
(PSK P share key 預共享鑰匙) //201.1.2.200是×××服務器的IP
啟動IPSec服務
systemctl start ipsec
ss -natulp | grep pluto 查看4500 500端口
部署XL2TP服務
yum localinstall xl2tpd-1.3.8-2.el7.x86_64.rpm
rpm -qc xl2tpd
vim /etc/xl2tpd/xl2tpd.conf //修改主配置文件
[global]
.. ..
[lns default]
.. ..
ip range = 192.168.3.128-192.168.3.254 //分配給客戶端的IP池
local ip = 201.1.2.200 //×××服務器的IP地址

vim /etc/ppp/options.xl2tpd  //認證配置
require-mschap-v2                                         //添加一行,強制要求認證
#crtscts                                                //註釋或刪除該行
#lock                                                //註釋或刪除該行  新版本必須要註釋掉
vim /etc/ppp/chap-secrets    //修改密碼文件
jacob   *       123456  *  
啟動服務
systemctl start xl2tpd
ss -natulp | grep xl2tpd        *:1701端口
設置路由轉發,防火墻
echo "1" > /proc/sys/net/ipv4/ip_forward
firewall-cmd --set-default-zone=trusted 
×××設置
iptables -t nat -A POSTROUTING -s 192.168.3.0/24     >  -j SNAT --to-source 201.1.2.200

客戶端設置

啟動一臺Windows虛擬機,將虛擬機網卡橋接到public2,配置IP地址為201.1.2.20。
新建網絡連接,輸入×××服務器賬戶與密碼 連接×××並測試網絡連通性

NTP時間同步服務:
有些軟件在工作時要看時間 所以要時間同步

yum -y install chrony
rpm -qc chrony
vim /etc/chrony.conf
    server 0.centos.pool.ntp.org iburst         //server用戶客戶端指向上層NTP服務器
                        iburst  啟服務後馬上同步時間

    allow 192.168.4.0/24                        //允許那個IP或網絡訪問NTP
    #deny  192.168.4.1                        //拒絕那個IP或網絡訪問NTP
    local stratum 10                            //設置NTP服務器的層數量

pssh遠程套件工具
使用密碼批量、多並發遠程其他主機
使用密鑰批量、多並發遠程其他主機
批量、多並發拷貝數據到其他主機
批量、多並發從其他主機下載數據到本機
批量、多並發殺死其他主機的進程
安裝pssh後會提供如下命令:
/usr/bin/pnuke
/usr/bin/prsync
/usr/bin/pscp.pssh
/usr/bin/pslurp
/usr/bin/pssh
rpm -ivh pssh-2.3.1-5.el7.noarch.rpm
vim /etc/hosts
… …
192.168.2.100 host1
192.168.2.200 host2
192.168.4.100 host3
vim /root/host.txt //每行一個用戶名、IP或域名
… …root@host1
br/>root@host1
host3
man pssh //通過man幫助查看工具選項的作用
pssh提供並發遠程連接功能
-A 使用密碼遠程其他主機(默認使用密鑰)
-i 將輸出顯示在屏幕
-H 設置需要連接的主機
-h 設置主機列表文件
-p 設置並發數量
-t 設置超時時間
-o dir 設置標準輸出信息保存的目錄
-e dir 設置錯誤輸出信息保存的目錄
-x 傳遞參數給ssh
使用密碼遠程多臺主機執行命令,屏幕顯示標準和錯誤輸出信息
pssh -i -A -H ‘host1 host2 host3‘ \

-x ‘-o StrictHostKeyChecking=no‘ echo hello
使用密碼遠程多臺主機執行命令,不顯示標準和錯誤輸出信息,通過讀取host.txt讀取主機信息
pssh -A -h host.txt \
-x ‘-o StrictHostKeyChecking=no‘ echo hello
使用密鑰批量、多並發遠程其他主機
ssh-keygen -N ‘‘ -f /root/.ssh/id_rsa
ssh-copy-id -i /root/.ssh/id_rsa.pub host1
ssh-copy-id -i /root/.ssh/id_rsa.pub host2
ssh-copy-id -i /root/.ssh/id_rsa.pub host3
使用密鑰遠程其他主機
pssh -h host.txt -x ‘-o StrictHostKeyChecking=no‘ echo hello
//首次遠程必須要加-x ‘-o StrictHostKeyChecking=no‘
使用密鑰遠程其他主機,將標準輸出信息寫入到/tmp目錄
pssh -h host.txt -o /tmp/ -x ‘-o StrictHostKeyChecking=no‘ echo hello
批量、多並發拷貝數據到其他主機
man pscp.pssh //通過man幫助查看工具選項的作用
pscp.pssh提供並發拷貝文件功能
-r 遞歸拷貝目錄
其他選項基本與pssh一致
將本地的etc.tar.gz拷貝到遠程主機的根目錄下
pscp.pssh -h host.txt \
-x ‘-o StrictHostKeyChecking=no‘ etc.tar.gz /
遞歸將本地的/etc目錄拷貝到遠程主機的/tmp目錄
pslurp -r -h host.txt -x ‘-o StrictHostKeyChecking=no‘ /etc/hosts haha 不會自動覆蓋!
//把對方的/etc/hosts目錄烤到自己當前目錄的host1 host2 host3目錄下 取名叫haha
pslurp -r -h host.txt /opt/ xixi //拷貝目錄容易出bug 只能拷貝小文件

批量、多並發殺死其他主機的進程

man pnuke                    //通過man幫助查看工具選項的作用
    pnuke提供遠程殺死進程的功能
    選項與pssh基本一致
將遠程主機上的sleep進程殺死
pnuke  -h host.txt -x ‘-o StrictHostKeyChecking=no‘ sleep
將遠程主機上的test相關腳本都殺死(如:test1,testtt,test2等等)
pnuke  -h host.txt -x ‘-o StrictHostKeyChecking=no‘ test
將遠程主機上的test.sh腳本殺死
pnuke  -h host.txt -x ‘-o StrictHostKeyChecking=no‘ test.sh

linux高級運維之×××,pssh工具使用