Июл 012011
 

Давно ничего не писал.
Вот собственно стала такая задача у меня.
Есть сервер на FreeBSD c установленным OpenVPN сервером, понадобилось поставить на другом сервере с FreeBSD поставить клиента, и настроить между ними прямой линк между разными интернет провайдерами.

Приступаем к работе.

cd /usr/ports/security/openvpn/ && make install clean

Все оставляем по умолчанию и ждем пока заинсталится OpenVPN
Далее делаем следующее

mkdir /usr/local/etc/openvpn
mkdir /usr/local/etc/openvpn/keys

Далее создаем конфиг такого вида

dev tun
proto tcp
# IP сервера
remote 1.1.1.1
#Port на котором работает сервер, у меня он отличается от стандартного
port 1194
client
client
resolv-retry infinite
ca keys/ca.crt
cert keys/cert.crt
key keys/key.key
tls-client
tls-auth keys/ta.key 1
auth MD5
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
verb 3
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3


Еще одна маленькая особенность в моем конфиге в том, что у меня на клиенте с OpenVPN сервер работает через проксю, так что в конфиге добавляем еще такую строку

http-proxy ip port

Далее создаем каталог и два файла для логов

mkdir /var/log/openvpn/
touch /var/log/openvpn/openvpn-status.log
touch /var/log/openvpn/openvpn.log

После всего этого, ложим соответствующие ключи в папку keys
Добавляем OpenVPN в автозагрузку.

ee /etc/rc.conf

 

openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/client.conf"
openvpn_dir="/usr/local/etc/openvpn"

Запускаем клиента и проверяем.

 /usr/local/etc/rc.d/openvpn start
Starting openvpn.

 

 ps axw | grep openvpn
12363  ??  Ss     0:48.31 /usr/local/sbin/openvpn --cd /usr/local/etc/openvpn --daemon openvpn --config /usr/local/etc/openvpn/office.conf --writepid /var/run/openvpn.pid
 3137   0  S+     0:00.00 grep openvpn

Как видим, все запустилось и работает нормально, теперь проверим пинги на сервер

 ping -c 5 1.1.1.1
PING 1.1.1.1 (1.1.1.1): 56 data bytes
64 bytes from 1.1.1.1: icmp_seq=0 ttl=128 time=2.674 ms
64 bytes from 1.1.1.1: icmp_seq=1 ttl=128 time=7.290 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=128 time=3.930 ms
64 bytes from 1.1.1.1: icmp_seq=3 ttl=128 time=2.799 ms
64 bytes from 1.1.1.1: icmp_seq=4 ttl=128 time=3.226 ms

--- 1.1.1.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.674/3.984/7.290/1.710 ms

Теперь мы точно убедились в том, что у нас все получилось 🙂

 

P.S. Чуть позже напишу статью по созданию OpenVPN сервера.

  One Response to “OpenVPN клиент на FreeBSD”

  1. Спасибо.