Настройка OpenVPN c stunnel Ubuntu 16.04 хостера DO
lxc launch ubuntu:16.04 ovpn
lxc stop ovpn
lxc config device add ovpn myport2194 proxy listen=tcp:0.0.0.0:2194 \
connect=tcp:localhost:2194
lxc config set ovpn raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
lxc config device add ovpn tun unix-char path=/dev/net/tun
lxc start ovpn
lxc exec ovpn -- sudo --user ubuntu --login
sudo nano /etc/hosts
Изменить:
127.0.0.1 localhost ovpn
Сохранить.
mknod /dev/net/tun c 10 200
sudo apt update
sudo apt upgrade -y
sudo apt install mc cadaver -y
sudo locale-gen en_US ru_RU en_US.UTF-8 ru_RU.UTF-8
sudo timedatectl set-timezone Europe/Moscow
sudo apt install openvpn -y
#Центр сертификации ставить не будем, но поскольку не переносим старый
#больше сертификатов мы выпустить тоже не сможем
#sudo apt install openvpn easy-rsa -y
Скачать настройки OpenVPN
cadaver https://web2.domen.info/remote.php/webdav/
dav:/remote.php/webdav/> get openvpn.tar.gz
dav:/remote.php/webdav/> get openvpn.tar.gz
dav:/remote.php/webdav/> quit
Скопируем из архива:
ccd ca.crt ca.key ccd dh2048.pem ipp.txt
server.conf server.crt server.key ta.key update-resolv-conf
в /etc/openvpn/
sudo nano /lib/systemd/system/openvpn@.service
Закомментируем:
#LimitNPROC=10
Сохранить.
sudo systemctl daemon-reload
sudo systemctl enable openvpn@server.service
sudo systemctl start openvpn@server.service
nano start.sh
#!/bin/bash
#Небольшой тюнинг:
sudo /bin/su -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf"
sudo sysctl -p
sudo systemctl restart networking.service
Сохранить.
sudo sh start.sh
Делаем сеть 10.8.20.0/24
Если нужна маршрутизация интернета делаем nat
sudo nano /etc/rc.local
добавляем строки до exit 0
iptables -A FORWARD -s 10.8.20.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.20.0/24 -o eth0 -j MASQUERADE
сохраняем
sudo nano/etc/openvpn/server.conf
Заменить:
port 2194
server 10.8.20.0 255.255.255.0
Для проброса интернета:
Раскомментировать:
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
Сохранить.
Для задания статического ip
в файлах клиентов:
sudo nano /etc/openvpn/ccd/client1
заменить ip
ifconfig-push 10.8.20.2 255.255.255.0
Сохранить.
sudo poweroff
lxc start ovpn
В файле клиента
remote 188.130.240.10 2194
dev-node 'Ethernet 5'
mkdir ~/backup/
nano ~/backup_ovpn_lxd.sh
Добавить:
#!/usr/bin/env bash
set -ex
lxc stop ovpn
BACKUP_DIR=/home/user/backup
#HOSTS=$(lxc list -c n --format csv)
HOSTS=ovpn
for HOST in ${HOSTS}
do
BACKUP_NAME=${HOST}-$(date +"%Y-%m-%d")
lxc snapshot ${HOST} auto-backup
lxc publish ${HOST}/auto-backup --alias ${BACKUP_NAME}
#lxc image export ${BACKUP_NAME} ${BACKUP_DIR}/${BACKUP_NAME}.tar.gz
lxc image export ${BACKUP_NAME} ${BACKUP_DIR}/${BACKUP_NAME}
lxc image delete ${BACKUP_NAME}
lxc delete ${HOST}/auto-backup
done
lxc start ovpn
Сохранить.
chmod +x ~/backup_ovpn_lxd.sh
./backup_ovpn_lxd.sh
backup контейнера
ovpn-2020-02-22.tar.gz
Теперь на другой сервер будет переноситься очень просто:
Перенос на другой сервер
lxc image import ovpn-2020-02-22.tar.gz --alias ovpn-ip
lxc launch ovpn-ip ovpn-ip
lxc image delete ovpn-ip
lxc stop ovpn-ip
lxc config device add ovpn-ip myport2194 proxy listen=tcp:0.0.0.0:2194 connect=tcp:localhost:2194
lxc config set ovpn-ip raw.lxc 'lxc.cgroup.devices.allow = c 10:200 rwm'
lxc config device add ovpn-ip tun unix-char path=/dev/net/tun
lxc start ovpn-ip
Установка и настройка Pure-FTPD (Pure FTP) внутри контейнера
sudo apt install pure-ftpd -y
sudo groupadd ftpgroup
sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser
sudo passwd ftpuser
12345
12345
sudo mkdir /home/ftpuser/
sudo chown -R ftpuser:ftpgroup /home/ftpuser
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
sudo mkdir -p /home/ftpuser/test/client
sudo mkdir -p /home/ftpuser/test/buh
sudo mkdir -p /home/ftpuser/test1
sudo chown -R ftpuser:ftpgroup /home/ftpuser
sudo pure-pw useradd test -u ftpuser -d /home/ftpuser/test
sudo pure-pw useradd test1 -u ftpuser -d /home/ftpuser/test1
#FTP, порты пассивного режима (иначе случайные):
#указать два порта на одного клиента.
sudo su -c 'echo "50000 50010" > /etc/pure-ftpd/conf/PassivePortRange'
#Порты открываются независимо от ufw! (и iptables? )
#Работаем только по ip4
sudo su -c 'echo "yes" > /etc/pure-ftpd/conf/IPV4Only'
#"Человеческий лог после отладки убрать"
sudo su -c 'echo "yes" > /etc/pure-ftpd/conf/VerboseLog'
#В логе ip адреса вместо имен.
sudo su -c 'echo yes > /etc/pure-ftpd/conf/DontResolve'
!!! # echo "YOUR_EXTERNAL_IP_HERE" > /etc/pure-ftpd/conf/ForcePassiveIP
sudo pure-pw mkdb
sudo service pure-ftpd restart
netstat -ln | grep :21
#копируем файлы на ftp
sudo chown -R ftpuser:ftpgroup /home/ftpuser
Комментариев нет:
Отправить комментарий