Настройка OpenVPN (шпаргалка)
Установить openvpn и easy-rsa (оба они есть в репозитории epel):
yum install openvpn easy-rsa
Скопировать easy-rsa в папку /etc/openvpn
cp -r /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/
Дальнейшие действия будем производить из папки /etc/openvpn/easy-rsa/2.0
cd /etc/openvpn/easy-rsa/2.0
Правим /etc/openvpn/easy-rsa/2.0/vars
Генерируем ключи для сервера:
source /etc/openvpn/easy-rsa/2.0/vars /etc/openvpn/easy-rsa/2.0/clean-all /etc/openvpn/easy-rsa/2.0/build-ca /etc/openvpn/easy-rsa/2.0/build-key-server server /etc/openvpn/easy-rsa/2.0/build-dh
Копируем полученные ключи в папку /etc/openvpn
cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/2.0/keys/server.crt /etc/openvpn/ cp /etc/openvpn/easy-rsa/2.0/keys/server.key /etc/openvpn/ cp /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem /etc/openvpn/
Генерируем ключи для клиента:
/etc/openvpn/easy-rsa/2.0/build-key client1
Создаем файл конфиг openvpn.conf
примерно следующего содержания:
proto tcp dev tun port 1194 ca ca.crt cert server.crt key server.key dh dh2048.pem keepalive 10 120 comp-lzo user nobody group users persist-key persist-tun verb 5 client-to-client log /var/log/openvpn/openvpn.log status /var/log/openvpn/openvpn-status.log ifconfig-pool-persist ipp.txt server 10.1.100.0 255.255.255.0 client-config-dir /etc/openvpn/ccd push "route 172.16.10.0 255.255.255.0"
Добавляем правило в iptables
/sbin/iptables -t nat -A POSTROUTING -s 10.1.100.0/24 -o eth0 -j MASQUERADE
Конфиг-файл для клиента:
client dev tun proto tcp remote rusdc.propertyminder.com 1194 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert /home/vps/Документы/КлючиVPN/Colocat/ valynkin .pavel.crt key /home/vps/Документы/КлючиVPN/Colocat/ valynkin .pavel.key ns-cert-type server comp-lzo status-version 2 verb 3 keepalive 10 60 route-method exe route-delay 2 #redirect-private #route-gateway 95.172.154.1 # # Kama #route 95.172.154.51 255.255.255.255 vpn_gateway
Для запуска в proxmox добавить в конфиг виртуальной машины строки:
lxc.cgroup.devices.allow = c 10:200 rwm lxc.hook.autodev = sh -c "modprobe tun; cd ${LXC_ROOTFS_MOUNT}/dev; mkdir net; mknod net/tun