马哥博客作业第十七周
1、利用SAMBA实现指定目录共享
1>.在samba服务器上安装samba包
#yum -y install samba
2>.创建samba用户和组
#groupadd -r admins
#useradd -s /sbin/nologin -G admins smb1
#smbpasswd -a smb1
#useradd -s /sbin/nologin smb2
#smbpasswd -a smb2
3>.创建samba共享目录
#mkdir /data/smbshare
#chgrp admins /data/smbshare
#chmod 2775 /data/smbshare
4>.修改samba服务配置文件
#vim /etc/samba/smb.conf
[common]
path = /data/smbshare
write list = @admins
5>.启动samba服务
#systemctl enable --now smb nmb
6>.在windows客户端通过\\10.0.0.203\common访问共享目录,测试smb1用户拥有写权限,smb2用户没有
7>.在linux客户端测试
#yum -y install cifs-utils
#mount -o username=smb1 //10.0.0.203/common /mnt/smb1(目录提前创建)
2、实现不同samba用户访问相同的samba共享,实现不同的配置
1>.在samba服务器上安装samba包
#yum -y install samba
2>.创建三个samba用户,并指定密码为magedu
#useradd -s /sbin/nologin smb1
#useradd -s /sbin/nologin smb2
#useradd -s /sbin/nologin smb3
#smbpasswd -a smb1
#smbpasswd -a smb2
#smbpasswd -a smb3
3>.修改samba配置文件
#vim /etc/samba/smb.conf
在workgroup下加一行
[global]
workgroup = SAMBA
config file= /etc/samba/conf.d/%U(%U表示用户名)
[share]
path=/data/smbshare
Read only= NO
Guest ok = yes
4>.针对smb1和smb2用户创建单独的配置文件
#mkdir /data/smbshare
#mkdir /etc/samba/conf.d
#mkdir /data/smb{1,2}
#chmod o+w smb*
#vim /etc/samba/conf.d/smb1
[share]
Path=/data/smb1
Read only= NO
#vim /etc/samba/conf.d/smb2
[share]
Path=/data/smb2
Read only= yes
5>.启动samba服务
#systemctl start smb nmb
6>.在linux客户端测试
#yum -y install samba-client
smbclient //10.0.0.203/share -U smb1%123456(看到的是/data/smb1目录的内容,并且具有写权限)
smbclient //10.0.0.203/share -U smb2%123456(看到的是/data/smb2目录的内容,没有写权限)
smbclient //10.0.0.203/share -U smb3%123456(看到的是默认/data/smbshare目录的内容,并且具有写权限)
3、远程主机通过链接openvpn修复内网里 httpd 服务主机,假如现在 httpd 宕机了,我们需要链接进去让 httpd 启动
1>.安装OpenVPN和证书工具
#yum -y install openvpn easy-rsa
2>.准备相关配置文件
生成服务器配置文件
#cp /usr/share/doc/openvpn/sample/sample-config-files/server.conf /etc/openvpn/
准备证书签发相关文件
#cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-server
准备签发证书相关变量的配置文件
#cp /usr/share/doc/easy-rsa/vars.example /etc/openvpn/easy-rsa-server/3/vars
修改CA和OpenVPN服务器颁发的证书的有效期
#vim /etc/openvpn/easy-rsa-server/3/vars
set_var EASYRSA_CERT_EXPIRE 3650
3>.初始化PKI生成PKI相关目录和文件
#cd /etc/openvpn/easy-rsa-server/3/
#./easyrsa init-pki
4>.创建CA机构
#./easyrsa build-ca nopass
5>.创建服务端证书申请
#./easyrsa gen-req server nopass
6>.颁发服务端证书
#./easyrsa sign server server
7>.创建 Diffie-Hellman 密钥
#./easyrsa gen-dh
8>.准备客户端证书环境
#cp -r /usr/share/easy-rsa/ /etc/openvpn/easy-rsa-client
#cp /usr/share/doc/easy-rsa/vars.example /etc/openvpn//easy-rsa-client/3/vars
#cd /etc/openvpn//easy-rsa-client/3/
#./easyrsa init-pki
9>.生成客户端用户的证书申请
#./easyrsa gen-req wangxiaochun nopass
10>.将客户端证书请求文件复制到CA的工作目录
#cd /etc/openvpn/easy-rsa-server/3
#./easyrsa import-req /etc/openvpn/easy-rsa-client/3/pki/reqs/wangxiaochun.req wangxiaochun
11>.修改给客户端颁发的证书的有效期
#vim vars
set_var EASYRSA_CERT_EXPIRE 90
12>.签发客户端证书
#./easyrsa sign client wangxiaochun
13>.将ca和服务器证书相关文件复制到服务器相应的目录
#mkdir /etc/openvpn/certs
#cp /etc/openvpn/easy-rsa-server/3/pki/ca.crt /etc/openvpn/easy-rsa-server/3/pki/issued/server.crt /etc/openvpn/easy-rsa-server/3/pki/private/server.key /etc/openvpn/easy-rsa-server/3/pki/dh.pem /etc/openvpn/certs/
14>.将客户端私钥与证书相关文件复制到服务器相关的目录
#find /etc/openvpn/ \( -name "wangxiaochun.key" -o -name "wangxiaochun.crt" -o -name ca.crt \) -exec cp {} /etc/openvpn/client/wangxiaochun \;
15>.修改服务器端配置文件
#vim /etc/openvpn/server.conf
port 1194
proto tcp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server.crt
key /etc/openvpn/certs/server.key # This file should be kept secret
dh /etc/openvpn/certs/dh.pem
server 10.8.0.0 255.255.255.0
push "route 172.30.0.0 255.255.0.0"keepalive 10 120
tls-auth /etc/openvpn/certs/ta.key 0
cipher AES-256-CBC
compress lz4-v2
push "compress lz4-v2"
max-clients 2048
user openvpn
group openvpn
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
mute 200
crl-verify /etc/openvpn/easy-rsa-server/3/pki/crl.pem
16>.在服务器开启ip_forward转发功能
#echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
#sysctl -p
17>.添加SNAT规则
#echo 'iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE' >> /etc/rc.d/rc.local
#chmod +x /etc/rc.d/rc.local
#/etc/rc.d/rc.local
18>.配置service启动文件
#vim /usr/lib/systemd/system/openvpn@.service
[Unit]
Description=OpenVPN Robust And Highly Flexible Tunneling Application On %I
After=network.target
[Service]
Type=notify
PrivateTmp=true
ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i.conf
[Install]
WantedBy=multi-user.target
19>.加载服务并启动
#systemctl daemon-reload
#systemctl enable --now openvpn@server
20>.查看1194端口是否正常监听、是否生成tun0网卡并获取ip
#ss -ntlp
#ip a
21>.生成客户端配置文件
#vim /etc/openvpn/client/wangxiaochun/client.ovpn
client
dev tun
proto tcp
remote 10.0.0.8 1194 #生产中为OpenVPN公网IP
resolv-retry infinite
nobind
#persist-key
#persist-tun
ca ca.crt
cert magedu.crt
key magedu.key
remote-cert-tls server
tls-auth ta.key 1
cipher AES-256-CBC
verb 3
compress lz4-v2
22>.在服务器打包证书并下载发送给windows客户端
#cd /etc/openvpn/client/wangxiaochun/
tar cf wangxiaochun.tar ./
23>.在windows安装OpenVPN客户端,并将生成的wangxiaochun.tar放到客户端的C:\Program Files\OpenVPN\config文件夹下并解开wangxiaochun.tar,打开OpenVPN GUI工具,在状态栏显示以下图标,右键点连接即可。
24>.在cmd命令行通过ssh root@172.30.0.100连接到内网httpd服务器,重启httpd服务即可。

浙公网安备 33010602011771号