OpenVPN в режиме сетевого моста (tap0) на Raspberry

Скачиваем образ и создаем SD Raspbian, или покупаем вместе с Raspberry, и загружаемся с него.

Server

Конфигурация

Внимание! Локальная сеть и дистанционная сеть не должны совпадать!!!

aptitude install bridge-utils openvpn
vi /etc/network/interfaces
auto lo

iface lo inet loopback
#iface eth0 inet dhcp

#allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
address 192.168.0.121
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.254
vi /etc/openvpn/server.conf
server-bridge 192.168.0.121 255.255.255.0 192.168.0.122 192.168.0.125
#push "redirect-gateway 192.168.0.254"
daemon
port 11195
proto tcp-server
dev tap0
# Сертификаты сервера
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh2048.pem
push "comp-lzo yes"
comp-lzo
keepalive 10 120
client-to-client
persist-key
persist-tun
verb 3
# Файл лога

#log-append /var/log/openvpn-server.log
log-append /dev/pts/1

script-security 2
#Список IP
ifconfig-pool-persist /etc/openvpn/ipp.txt
# Скрипт, запускаемый при поднятии интерфейса
up /etc/openvpn/server_up.sh

Логи

За мето жесткого дика мы используем флешку, которая не отличается большим ресурсом перезаписи! А логи это постоянно перезаписываемая информация. Отсюда следует вывод, что логи надо складировать не на диск, а выводить на экран. Этого достаточно для настройки прибора.
Если у вас монитор подключен непосредственно к прибору, то лучше вывести на вторую консоль

/dev/tty2

Если вы подключаетесь по ssh то

/dev/pts/1

При этом, чтобы увидить логи, надо подключиться дважды! То есть подключиться в первом эмуляторе терминалов, где вы будите настраивать устройство и открыть второй эмулятор терминалов и подключиться, где и будут показываться логи.

И естественно, не звбываем выключить по возможности все остальные логи, складируемые на диск!

service rsyslog stop
update-rc.d rsyslog remove

Прописываем соответствие IP подключаемым пользователям относительно их аккаунтам. Об их создании ниже.

vi /etc/openvpn/ipp.txt
slava,192.168.0.123
vasia,192.168.0.124
sidorich,192.168.0.125
vi /etc/openvpn/server_up.sh
#!/bin/sh

# Переводим интерфейс в состояние "up"
/sbin/ifconfig tap0 up
# Добавляем его в br0
/sbin/brctl addif br0 tap0
chmod +x /etc/openvpn/server_up.sh

Генерация ключей

cp -av /usr/share/doc/openvpn/examples/easy-rsa/2.0 /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/{ccd,easy-rsa/keys}
ln -sf /etc/openvpn/easy-rsa/keys /etc/openvpn/keys
cd /etc/openvpn/easy-rsa
vi vars
. ./vars
./clean-all
./build-ca
./build-dh
./build-key-server server

Далее для каждого пользователя

./build-key username

Далее проверяем по логам работу сервера, и если все в порядке коментируем строчку для логов в конфиге и перегружаем сервер openvpn.
Так-же выклчаем демон для логов.

/etc/init.d/rsyslog stop
update-rc.d -f rsyslog remove

Клиент

apt-get install openvpn
cat >> /etc/openvpn/openvpn.conf

client
dev tap0
proto tcp-client
remote xxx.xxx.xxx.xxx 1195
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/username.crt
key /etc/openvpn/username.key
comp-lzo
verb 3
Запись опубликована в рубрике Linux, Raspberry, Сервер. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Анти-спам: выполните заданиеWordPress CAPTCHA