Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Another advantageous aspect of Static Key encryption mode is that it is a handshake-free protocol without any distinguishing signature or feature (such as a header or protocol handshake sequence) that would mark the ciphertext packets as being generated by OpenVPN. Anyone eavesdropping on the wire would see nothing but random-looking data.
$ ls /etc/openvpn/
keys README server.conf update-resolv-conf vars
$ cat /etc/openvpn/server.conf | grep -E "^[a-z]"
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key # This file should be kept secret
dh /etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.128
push "redirect-gateway def1"
push "dhcp-option DNS 208.67.222.222"
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
verb 3
$ cat /etc/openvpn/vars | grep -E "^[a-z]"
export EASY_RSA="`pwd`"
export OPENSSL="openssl"
export PKCS11TOOL="pkcs11-tool"
export GREP="grep"
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
export KEY_DIR="/etc/openvpn/keys"
echo NOTE: If you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export PKCS11_MODULE_PATH="dummy"
export PKCS11_PIN="dummy"
export KEY_SIZE=1024
export CA_EXPIRE=3650
export KEY_EXPIRE=3650
export KEY_COUNTRY="RU"
export KEY_PROVINCE="Moscow"
export KEY_CITY="Moscow"
export KEY_ORG="seriyps"
export KEY_EMAIL="me@*********"
$ cat /etc/openvpn/README
http://habrahabr.ru/blogs/linux/67209/
http://lithium.opennet.ru/articles/openvpn/openvpn-howto.html
# NAT
sudo iptables -t nat -A POSTROUTING -s 10.8.0.0/25 -o eth0 -j MASQUERADE
sudo sysctl net.ipv4.ip_forward=1
# Generate new key
sudo su
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
source /etc/openvpn/vars
export CLIENT_NAME="client_name"
./build-key-pass $CLIENT_NAME
tar -cf /home/seriy/$CLIENT_NAME.tar /etc/openvpn/keys/ca.crt /etc/openvpn/keys/$CLIENT_NAME.{crt,key}
sudo chown seriy:seriy /home/seriy/$CLIENT_NAME.tar
/usr/share/doc/openvpn/examples/easy-rsa/2.0/vars
в /etc/openvpn/vars
и в нём прописать export KEY_DIR="/etc/openvpn/keys"
sudo su
cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/
source /etc/openvpn/vars
./build-key-pass ...
/etc/openvpn/keys
, или что вы там пропишете/usr/bin/openvpn --client
с нужными параметрами.3) Включите tls-auth:
openvpn --genkey --secret ta.key
раскидываем ta.key на сервер и клиенты, Далее
tls-auth ta.key 0 — на сервере
tls-auth ta.key 1 — на клиентах
Телодвижений минимум, а выгода: скрытие факта существования VPN сервера и защита от (D)DOS'a, даже если спалите нестандартный порт.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 111.222.333.444
где 111.222.333.444 — внешний IP сервера.iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
т.е. вместо «-A», указываем «-D».apt-get install easy-rsa
make-cadir /etc/openvpn/easy-rsa
sudo openvpn --config ./vpn.ovpn
. Получаю Initialization Sequence Completed
openvpn.log
пустopenvpn-status.log
видит 10.8.0.6,faiwer,мойip:1194,Thu Mar 31 10:41:28 2016
клиента, судя по всемуnslookup ya.ru
и nslookup youtube.com 8.8.8.8
― пусто93.158.134.3
(yandex из nslookup) идёт, а на клиенте молчит (даже по прямому IP т.е.)cat /proc/sys/net/ipv4/ip_forward
выдаёт 1
service openvpn status
пишет * VPN 'server' is running
# добавляем строки до exit 0
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
# сохраняем
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
#faiwer
iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
exit 0
root@faiwer:~# iptables -A FORWARD -s 10.8.0.0/24 -j ACCEPT
root@faiwer:~# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
root@faiwer:~# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
root@faiwer:~#
Проверьте имя вашей сетевой, что она действительно eth0
root@faiwer:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:16:3e:5a:ad:3a
inet addr:IP_МОЕГО_СЕРВЕРА Bcast:31.131.16.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe5a:ad3a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:199293 errors:0 dropped:0 overruns:0 frame:0
TX packets:124354 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:18315365 (18.3 MB) TX bytes:1982768199 (1.9 GB)
Interrupt:32
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:102 errors:0 dropped:0 overruns:0 frame:0
TX packets:102 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17277 (17.2 KB) TX bytes:17277 (17.2 KB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:4180 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:263759 (263.7 KB) TX bytes:0 (0.0 B)
apt-get openvpn
были ещё пакеты. Вроде как раз что-то вроде для маскарада. Может быть в этом дело?Тут хорошо бы и сторону сервера посмотреть.
eth0
, lo
, wlan0
.uname -a
=> Linux {name} 3.2.0-75-generic #110-Ubuntu SMP Tue Dec 16 19:11:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
. UbuntuServer.Linux faiwer-mint 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
. LinuxMint.2.3.2-7ubuntu3.1
, на сервере: 2.2.1-8ubuntu1.4
.
Теплый и ламповый VPN