Quản trị hệ thống

Hướng dẫn cài đặt OpenVPN server trên Centos7

  • Mô hình mạng
  • Các bước cài đặt

# yum update -y

# yum install epel-release -y

# yum update -y

# yum install -y openvpn easy-rsa

  • Các bước cấu hình Easy-rsa, tạo CA và key

# mkdir -p /etc/openvpn/easy-rsa

# cp -R /usr/share/easy-rsa/3.0.7/* /etc/openvpn/easy-rsa/

Tạo file vars và thêm các thông tin bên dưới

# cd /etc/openvpn/easy-rsa

# vim vars

export KEY_COUNTRY=”VN”
export KEY_PROVINCE=”HN”
export KEY_CITY=”HaNoi”
export KEY_ORG=”ThanhOai”
export KEY_EMAIL=”binhlt@binhit.net”
export KEY_OU=”binhit”
export KEY_NAME=”server”
export KEY_CN=”vpn.binhit.net”

Tạo CA (Đây là file rất quan trọng, các bạn nên đặt Password)

# cd /etc/openvpn/easy-rsa

# ./easyrsa init-pki

# ./easyrsa build-ca

Tạo key cho OpenVPN server

# ./easyrsa gen-req server nopass

Tạo certificate cho OpenVPN server

# ./easyrsa sign-req server server

Tạo Diffie-Hellman key

# ./easyrsa gen-dh

Tạo HMAC key

# openvpn –genkey –secret tls.key

Copy các file cần thiết đến /etc/openvpn

# cp /etc/openvpn/easy-rsa/tls.key /etc/openvpn/

# cp /etc/openvpn/easy-rsa/pki/ca.crt /etc/openvpn/

# cp /etc/openvpn/easy-rsa/pki/dh.pem /etc/openvpn/

# cp /etc/openvpn/easy-rsa/pki/issued/server.crt /etc/openvpn/

# cp /etc/openvpn/easy-rsa/pki/private/server.key /etc/openvpn/

Thiết lập file cấu hình OpenVPN server

# cd /usr/share/doc/openvpn-2.4.8/sample/sample-config-files

# cp server.conf /etc/openvpn/

# vim server.conf

port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push “route 10.1.0.0 255.255.255.0”
push “redirect-gateway def1 bypass-dhcp”
push “dhcp-option DNS 8.8.8.8”
keepalive 10 120
tls-auth tls.key 0
cipher AES-256-CBC
compress lz4-v2
push “compress lz4-v2”
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 0
;plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login

Disable selinux

# vim /etc/selinux/config

Thay đổi dòng SELINUX=enforcing thành SELINUX=disabled

# reboot

Start dịch vụ OpenVPN server

# systemctl -f enable openvpn@server.service

# sudo systemctl start openvpn@server.service

# sudo systemctl status openvpn@server.service

Kiểm tra port dịch vụ OpenVPN từ IP public

Tạo client key

# ./easyrsa gen-req binhit nopass

Tạo client certificate

# ./easyrsa sign-req client binhit

Tạo 1 file mẫu các tham số của client VPN

# cd /etc/openvpn/client

# vim client.conf

client
dev tun
proto tcp
remote 13.89.47.134 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
tls-auth tls.key 1
cipher AES-256-CBC
comp-lzo
verb 3
;auth-user-pass
auth-nocache

Tạo script để export file cấu hình ovpn

# cd /etc/openvpn/easy-rsa/

# vim make_client.sh

‘#!/bin/bash
CLIENT_CONFIG=/etc/openvpn/client/client.conf
CA_DIR=/etc/openvpn/easy-rsa/pki
CLIENT_CER=/etc/openvpn/easy-rsa/pki/issued
CLIENT_KEY=/etc/openvpn/easy-rsa/pki/private
TLS_DIR=/etc/openvpn
OUTPUT_DIR=/etc/openvpn/client
cat ${CLIENT_CONFIG} \
<(echo -e ”) \ ${CA_DIR}/ca.crt \ <(echo -e ‘\n’) \ ${CLIENT_CER}/${1}.crt \ <(echo -e ‘\n’) \ ${CLIENT_KEY}/${1}.key \ <(echo -e ‘\n’) \ ${TLS_DIR}/tls.key \ <(echo -e ”) \ > ${OUTPUT_DIR}/${1}.ovpn

# chmod +x make_client.sh

Dùng script để tạo file binhit.ovpn

# ./make_client.sh binhit

# cp /etc/openvpn/client/binhit.ovpn /home

# chmod 777 /home/binhit.ovpn

Copy file binhit.ovpn đến client VPN bằng Winscp

Cài đặt phần mềm OpenVPN GUI, sau đó import file binhit.ovpn

Sau khi import thì thực hiện kết nối. Nếu lấy được thông tin như bên dưới là bạn đã cấu hình thành công.

  • Bổ sung xác thực login với local user

Tạo username cho client VPN

# useradd -m -s /sbin/nologin binhlt

Đặt password cho username vừa tạo

# passwd binhlt

Thêm dòng bên dưới vào file server.conf

# vim /etc/openvpn/server.conf

plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so login

Khởi động lại openvpn service

# systemctl restart openvpn@server.service

Thêm dòng bên dưới vào file cấu hình binhit.ovpn, rồi thực hiện kết nối lại

auth-user-pass

Quản trị hệ thống

How to intergrate SAMBAwind and Active Directory on Centos 6.9

1. Join in Windows Active Directory Domain with Samba Winbind.
Domain Server : Windows Server 2012 R2
Domain Name : FD3S01
Realm : SRV.WORLD
Hostname : fd3s.srv.world
yum -y install samba samba-winbind samba-winbind-clients pam_krb5 krb5-libs
vi /etc/sysconfig/network-scripts/ifcfg-eth0
2. Change to the DNS to AD’s one
DNS1= 10.0.0.100
[root@smb ~]# /etc/rc.d/init.d/network restart
[root@smb ~]# authconfig \
--enablekrb5 \
--krb5kdc=uv-svr04.usol-v.vn \
--krb5adminserver=uv-svr04.usol-v.vn \
--krb5realm=usol-v.vn \
--enablewinbind \
--enablewinbindauth \
--smbsecurity=ads \
--smbrealm=usol-v.vn \
--smbservers=uv-svr04.usol-v.vn \
--smbworkgroup=usol-v \
--winbindtemplatehomedir=/home/%U \
--winbindtemplateshell=/bin/bash \
--enablemkhomedir \
--enablewinbindusedefaultdomain \
--update
Starting Winbind services: [ OK ]

3. Join in Windows Active Directory Domain

net ads join -U Administrator 
/etc/rc.d/init.d/winbind start
chkconfig winbind on 
wbinfo -u

4. Cấu hình samba file

#======================= Global Settings =====================================

[global]
#--authconfig--start-line--

# Generated by authconfig on 2018/08/21 08:47:03
# DO NOT EDIT THIS SECTION (delimited by --start-line--/--end-line--)
# Any modification may be deleted or altered by authconfig in future

workgroup = usol-v
password server = uv-svr04.usol-v.vn
realm = USOL-V.VN
security = ads
idmap config * : range = 16777216-33554431
template homedir = /home/%U
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false


#============================ Share Definitions ==============================

[HR]
comment = HR Dept
path = /home/USOL-HR
writable = yes
read only = no
force create mode = 0660
create mask = 0770
directory mask = 0770
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
valid users = @usol-v.hr
[ADMIN]
comment = Admin Dept
path = /home/USOL-ADMIN
writable = yes
read only = no
force create mode = 0660
create mask = 0770
directory mask = 0770
force directory mode = 0770
access based share enum = yes
hide unreadable = yes
valid users = @usol-v.admin

5. Cấu hình nsswitch file

vi /etc/nsswitch.conf

passwd: files winbind
shadow: files winbind
group: files winbind
Quản trị hệ thống

Backup file share window to Linux

  • Mount tự động thư mục file share

Thêm cấu hình vào fstab

//10.128.8.114/AutoBackup /home/acct cifs auto,username=backup,password=It12345! 0 0
  • Cấu hình file run_backup.sh
find /home/acct/* -mtime -7 -exec cp {} /home/acct_backup/ \;
find /home/acct_backup/* -mtime +30 -exec rm {} \;
  • Đặt lịch tự động backup trên Centos6.9
crontab -u root -e 
59 23 * * 6 /bin/sh /home/acct_backup/run_backup.sh