linux高级运维之×××,pssh工具使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux高级运维之×××,pssh工具使用相关的知识,希望对你有一定的参考价值。
搭建***虚拟专线:
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
[[email protected] ~] 另外一台也要建隧道,重复上面操作 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或域名
… …br/>[email protected]
host2
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工具使用的主要内容,如果未能解决你的问题,请参考以下文章