Кто чем пользуется? Какие бесплатные варианты существуют? Где есть толковая документация? Пока нашел только openvpn, но не нашел к нему толковое описание кроме его собственного хелпа.
P.S. шлюз на SLES11, хочу удаленным клиентам с динамическими IP безопасно (!) дать доступ до внутреннего терминального сервака.
VPN сервер на linux (предпочтительно на SLES)
Модераторы: SLEDopit, Модераторы разделов
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: VPN сервер на linux
OpenVPN рулит и педалит, настоятельно рекомендую использовать его.
Подробнейшее описание настройки - находится в официальной документации на сайте самого проекта.
Ну и еще была пару лет назад обширная статья в журнале "Системный Администратор".
Кроме того, в сети полным-полно русскоязычных хауту.
Подробнейшее описание настройки - находится в официальной документации на сайте самого проекта.
Ну и еще была пару лет назад обширная статья в журнале "Системный Администратор".
Кроме того, в сети полным-полно русскоязычных хауту.
-
McLeod095
- Сообщения: 477
- ОС: Люблю слаку
Re: VPN сервер на linux
Хотел как нибудь расписать свою конфигурацию но руки никак не доходят.
могу помочь вот своим конфигом с небольшими комментами
Ну а это сам скрипт
Сразу скажу что все работает нормально. Пока нареканий не было.
Есть правда нюансы. т.к. у меня это дело крутится на centos с включенным SELinux то пришлось повозиться для того что бы запихнуть его в chroot. Также еще выкладываю скрипт создания chroot
могу помочь вот своим конфигом с небольшими комментами
Код: Выделить всё
#каталог в который будет произведен переход и относительно которого будут использоваться пути
cd /etc/openvpn
#порт
port 1194
#Протокол
proto udp
#устройство
dev tun0
#CA сертификат
ca /etc/openvpn/ssl/keys/ca.crt
#Сам сертификат сервера
cert /etc/openvpn/ssl/keys/server.crt
#Ключ от сертификата сервера
key /etc/openvpn/ssl/keys/server.key
#Ключ Диффи Хельмана
dh /etc/openvpn/ssl/keys/dh2048.pem
# Являемся tls сервером
tls-server
#Меняем TLS каждые 60 секунд
reneg-sec 60
# Проверка отозванных сертификатов
crl-verify /etc/openvpn/ssl/keys/crl.pem
#Пул IP адресов
server 10.10.10.0 255.255.255.128
#Метод шифрования
cipher AES-256-CBC
# Каталог с конфигурацией для каждого клиента (не использую)
client-config-dir /etc/openvpn/clients
#Сжатие трафика
comp-lzo
# Ну здесь я думаю понятно
user openvpn
group openvpn
# скрипт выполняемый для добавления и удаления маршрутов
iproute /etc/openvpn/unpriv_ip
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
# Сервер запускается в chroot окружении
chroot /var/chroot/openvpn
keepalive 10 60
push "ping 10"
push "ping-restart 60"
# Я думаю что здесь тоже все понятно
push "dhcp-option DNS 10.101.0.4"
push "dhcp-option DNS 10.100.0.4"
push "dhcp-option DOMAIN мой_домен"
push "dhcp-option NBT 8"
push "route 10.101.0.0 255.255.0.0"
push "route 10.100.0.0 255.255.0.0"
push "route 192.168.176.0 255.255.255.0"
push "route 192.168.177.4 255.255.255.255"
keysize 256
status-version 2
mtu-test
script-security 3 system
# Данный скрипт запускается при подключении пользователя и его отключении. В скрипте в зависимости от имени пользователя прописываются правила iptables.
learn-address /etc/openvpn/firewall.shНу а это сам скрипт
Код: Выделить всё
#!/bin/sh
# Данный скрипт выполняется при добавлении, удалении внутреннних маршрутов до клиентов OpenVPN
# Количество вызываемых программ ограничено т.к. OpenVPN находится в chroot окружении
#
#
# Внимание
# В скриптах обязательно использовать полные пути к вызываемым программам
#
#
# Список пользователей (CN записи в сертификате) которые получают расширенные правила firewall (Если CN содержит пробелы то вписывать в двойных кавычках "")
Admins=(admin1 admin2 admin3)
# Список пользователей (CN записи в сертификате) которые получают урезанные правила firewall
Users=(user1 user2 user3 user4)
# IP адрес, 2 передаваемый параметр
IP=$2
# Имя (CN), 3 передаваемый параметр
NAME=$3
# Обявление переменной и присвоение пути к команде sudo
SUDO="/usr/bin/sudo"
# Обявление переменной и присвоение пути к команде iptaples
IPTABLES="/sbin/iptables"
LOG="2>/dev/null"
# Интерфейс OpenVPN
TUN="tun0"
# Интерфейс сети
ETH="eth0"
# Дата
DATE=`/bin/date +%a" "%b" "%e" "%T" "%Y`
# Определение ip адреса OenVPN интерфейса
SERVER=`sudo /sbin/ip address list | /bin/awk "/$TUN/,//{print}" | /bin/egrep 'inet' | /bin/awk -F" " '{print $2}'`
#echo $SERVER
#FW_Admins="-A OPENVPN"
# Функция добавления правил iptables для пользователей имеющих расширенные правила
create_admins() {
# Создание цепочек для определенного пользователя, цепочки именуются по ip адресу пользователя
# В этой цепочке описывать правила FORWARD
$SUDO $IPTABLES -N $IP 2>/dev/null
# В этой цепочке описывать правила для INPUT на OpenVPN интерфейсе
$SUDO $IPTABLES -N ${IP}_in 2>/dev/null
# В этой цепочке описывать правила для OUTPUT на OpenVPN интерфейсе
$SUDO $IPTABLES -N ${IP}_out 2>/dev/null
# Добавление в цепочку OPENVPN правил для FORWARD
$SUDO $IPTABLES -A OPENVPN -i $TUN -o $ETH -s $IP -j $IP 2>/dev/null
$SUDO $IPTABLES -A OPENVPN -o $TUN -i $ETH -d $IP -j $IP 2>/dev/null
# Добавление в цепочку OPENVPN правил для INPUT
$SUDO $IPTABLES -A OPENVPN -i $TUN -s $IP -d $SERVER -j ${IP}_in 2>/dev/null
$SUDO $IPTABLES -A OPENVPN -i $TUN -s $IP -d 192.168.177.4 -j ${IP}_in 2>/dev/null
# Добавление в цепочку OPENVPN правил для OUTPUT
$SUDO $IPTABLES -A OPENVPN -o $TUN -d $IP -s $SERVER -j ${IP}_out 2>/dev/null
$SUDO $IPTABLES -A OPENVPN -o $TUN -d $IP -s 192.168.177.4 -j ${IP}_out 2>/dev/null
# Разрешаем icmp пакеты от клиентов к ВПН интерфейсу сервера
$SUDO $IPTABLES -A ${IP}_in -s $IP -i $TUN -d $SERVER -p icmp -j icmp_packets 2>/dev/null
$SUDO $IPTABLES -A ${IP}_out -s $SERVER -d $IP -o $TUN -p icmp -j icmp_packets 2>/dev/null
# Разрешаем обращение к MAIL на 192.168.177.4
$SUDO $IPTABLES -A ${IP}_in -s $IP -d 192.168.177.4 -i $TUN -p tcp --dport 25 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A ${IP}_out -d $IP -s 192.168.177.4 -o $TUN -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 2>/dev/null
# Разрешаем обращение ко всем хостам в сетях по всем протоколам и портам
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.101.0.0/16 -p all -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.100.0.0/16 -p all -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 192.168.176.0/24 -p all -j ACCEPT 2>/dev/null
# Разрешаем обращение из сети к VPN клиентам только созданных клиентом соединений
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.101.0.0/16 -d $IP -m state --state ESTABLISHED,RELATED -p all -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.100.0.0/16 -d $IP -m state --state ESTABLISHED,RELATED -p all -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 192.168.176.0/24 -d $IP -m state --state ESTABLISHED,RELATED -p all -j ACCEPT 2>/dev/null
}
# Функция добавления правил iptables для пользователей имеющих урезанные правила
create_users() {
# Создание цепочек для определенного пользователя, цепочки именуются по ip адресу пользователя
# В этой цепочке описывать правила FORWARD
$SUDO $IPTABLES -N $IP 2>/dev/null
# В этой цепочке описывать правила для INPUT на OpenVPN интерфейсе
$SUDO $IPTABLES -N ${IP}_in 2>/dev/null
# В этой цепочке описывать правила для OUTPUT на OpenVPN интерфейсе
$SUDO $IPTABLES -N ${IP}_out 2>/dev/null
# Добавление в цепочку OPENVPN правил для FORWARD
$SUDO $IPTABLES -A OPENVPN -i $TUN -o $ETH -s $IP -j $IP 2>/dev/null
$SUDO $IPTABLES -A OPENVPN -o $TUN -i $ETH -d $IP -j $IP 2>/dev/null
# Добавление в цепочку OPENVPN правил для INPUT
$SUDO $IPTABLES -A OPENVPN -i $TUN -s $IP -d $SERVER -j ${IP}_in 2>/dev/null
$SUDO $IPTABLES -A OPENVPN -i $TUN -s $IP -d 192.168.177.4 -j ${IP}_in 2>/dev/null
# Добавление в цепочку OPENVPN правил для OUTPUT
$SUDO $IPTABLES -A OPENVPN -o $TUN -d $IP -s $SERVER -j ${IP}_out 2>/dev/null
$SUDO $IPTABLES -A OPENVPN -o $TUN -d $IP -s 192.168.177.4 -j ${IP}_out 2>/dev/null
# Разрешаем обращение к MAIL на 192.168.177.4
$SUDO $IPTABLES -A ${IP}_in -s $IP -d 192.168.177.4 -i $TUN -p tcp --dport 25 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A ${IP}_out -d $IP -s 192.168.177.4 -o $TUN -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 2>/dev/null
# Разрещаем icmp пакеты от клиентов к ВПН интерфейсу сервера
$SUDO $IPTABLES -A ${IP}_in -s $IP -i $TUN -d $SERVER -p icmp -j icmp_packets 2>/dev/null
$SUDO $IPTABLES -A ${IP}_out -s $SERVER -d $IP -o $TUN -p icmp -j icmp_packets 2>/dev/null
# Запрещаем пользователям обращаться к ВПН интерфейсу сервера
$SUDO $IPTABLES -A ${IP}_in -s $IP -d $SERVER -i $TUN -j DROP 2>/dev/null
$SUDO $IPTABLES -A ${IP}_out -d $IP -s $SERVER -o $TUN -j DROP 2>/dev/null
# Разрешаем обращение ко всем хостам в сетях по протоколу TCP и определенным портам
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.101.0.0/16 -p tcp -m multiport --destination-port 80,8080,443,3389 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.100.0.0/16 -p tcp -m multiport --destination-port 80,8080,443,3389 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 192.168.176.0/24 -p tcp -m multiport --destination-port 80,8080,443,3389 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.101.0.4 -p udp --dport 53 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.100.0.4 -p udp --dport 53 -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.101.0.0/16 -p icmp -j icmp_packets 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 10.100.0.0/16 -p icmp -j icmp_packets 2>/dev/null
$SUDO $IPTABLES -A $IP -s $IP -i $TUN -o $ETH -d 192.168.176.0/24 -p icmp -j icmp_packets 2>/dev/null
# Разрешаем обращение из сети к VPN клиентам только созданных клиентом соединений
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.101.0.0/16 -d $IP -m state --state ESTABLISHED,RELATED -p tcp -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.100.0.0/16 -d $IP -m state --state ESTABLISHED,RELATED -p tcp -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 192.168.176/24 -d $IP -m state --state ESTABLISHED,RELATED -p tcp -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.101.0.4 -d $IP -m state --state ESTABLISHED,RELATED -p udp -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.100.0.4 -d $IP -m state --state ESTABLISHED,RELATED -p udp -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.101.0.0/16 -d $IP -p icmp -j icmp_packets 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 10.100.0.0/16 -d $IP -p icmp -j icmp_packets 2>/dev/null
$SUDO $IPTABLES -A $IP -o $TUN -i $ETH -s 192.168.176.0/24 -d $IP -p icmp -j icmp_packets 2>/dev/null
}
# Функция удаления правил (Должны удаляться все созданные цепочки)
delete() {
$SUDO $IPTABLES -D OPENVPN -i $TUN -s $IP -d 192.168.177.4 -j ${IP}_in 2>/dev/null
$SUDO $IPTABLES -D OPENVPN -o $TUN -s 192.168.177.4 -d $IP -j ${IP}_out 2>/dev/null
$SUDO $IPTABLES -D OPENVPN -i $TUN -s $IP -d $SERVER -j ${IP}_in 2>/dev/null
$SUDO $IPTABLES -D OPENVPN -o $TUN -d $IP -s $SERVER -j ${IP}_out 2>/dev/null
$SUDO $IPTABLES -D OPENVPN -s $IP -i $TUN -o $ETH -j $IP 2>/dev/null
$SUDO $IPTABLES -D OPENVPN -d $IP -o $TUN -i $ETH -j $IP 2>/dev/null
$SUDO $IPTABLES -F $IP 2>/dev/null
$SUDO $IPTABLES -F ${IP}_in 2>/dev/null
$SUDO $IPTABLES -F ${IP}_out 2>/dev/null
$SUDO $IPTABLES -X $IP 2>/dev/null
$SUDO $IPTABLES -X ${IP}_in 2>/dev/null
$SUDO $IPTABLES -X ${IP}_out 2>/dev/null
}
create_iam() {
$SUDO $IPTABLES -A ${IP}_in -s $IP -i $TUN -d $SERVER -j ACCEPT 2>/dev/null
$SUDO $IPTABLES -A ${IP}_out -d $IP -o $TUN -s $SERVER -j ACCEPT 2>/dev/null
}
add_create() {
CREATE=0
for i in "${Admins[@]}"; do
if [ "$NAME" = "$i" ]; then
if $SUDO $IPTABLES -L -nv | egrep -e Chain\ $IP 2>/dev/null
then
delete
fi
CREATE=1
echo "Create Admins-policy for user - $NAME with ip -$IP"
create_admins
fi
done
for i in "${Users[@]}"; do
if [ "$NAME" = "$i" ]; then
if $SUDO $IPTABLES -L -nv | egrep -e Chain\ $IP 2>/dev/null
then
delete
fi
CREATE=1
echo "Create User-policy for user - $NAME with ip -$IP"
create_users
fi
done
if [ "$NAME" = "iam" ]; then
create_iam
fi
if [ "$CREATE" -eq "0" ]; then
echo "Don't create policy for user - $NAME with ip -$IP"
fi
}
case "$1" in
add)
echo "$DATE Add user - $NAME with ip - $IP"
add_create
;;
update)
delete
echo "$DATE update user $NAME ip address $IP"
add_create
;;
delete)
echo "$DATE delete user - $NAME with ip - $IP"
delete
;;
esacСразу скажу что все работает нормально. Пока нареканий не было.
Есть правда нюансы. т.к. у меня это дело крутится на centos с включенным SELinux то пришлось повозиться для того что бы запихнуть его в chroot. Также еще выкладываю скрипт создания chroot
Код: Выделить всё
#!/bin/bash
# Скрипт создает chroot окружение
#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
#APPS="/bin/sh /bin/bash /bin/cp /bin/ls /bin/mkdir /bin/mv /bin/pwd
#/bin/rm /bin/rmdir /usr/bin/id /usr/bin/ssh /bin/ping
#/usr/bin/dircolors /bin/vi /usr/bin/sftp
#/usr/libexec/openssh/sftp-server"
# Каталог chroot окружения
CHROOT="/var/chroot/openvpn"
if [ ! -d $CHROOT ];then
echo "Нет такого каталога $CHROOT"
exit 1
fi
# программы необходимые в chroot окружении
APPS="/bin/awk /bin/sh /sbin/ip /sbin/iptables /bin/echo /bin/egrep /bin/bash /usr/bin/sudo /sbin/nologin /bin/date"
# Создание нового chroot окружения
case "$1" in
new)
LIBL=`ldd /bin/sh | tail -n 1 | awk '{print $1}'`
LIBD=`dirname $LIBD`
LIBF=`basename $LIBD`
mkdir -p $CHROOT/$LIBD
cp $LIBL $CHROOT/$LIBL
cp $LIBD/libnss_files.so.2 $CHROOT/$LIBD
mkdir -p $CHROOT/etc
cp /etc/nsswitch.conf $CHROOT/etc
mkdir -p $CHROOT/dev
mknod $CHROOT/dev/null c 1 3
mknod $CHROOT/dev/zero c 1 5
chmod 666 $CHROOT/dev/null $CHROOT/dev/zero
for prog in $APPS; do
mkdir -p $CHROOT/`dirname $prog` #> /dev/null 2>&1
cp $prog $CHROOT/$prog
# obtain a list of related libraries
ldd $prog > /dev/nullq
if [ "$?" = 0 ]; then
LIBS=`ldd $prog | awk '{ print $3 }'`
for l in $LIBS; do
mkdir -p $CHROOT/`dirname $l` #> /dev/null 2>&1
cp $l $CHROOT/$l #> /dev/null 2>&1
done
fi
if [ "$prog" = "/bin/date" ]; then
mkdir -p $CHROOT/etc
cp /etc/localtime $CHROOT/etc
fi
if [ "$prog" = "/sbin/iptables" ]; then
mkdir -p $CHROOT/$LIBD/iptables
cp -a $LIBD/iptables/ $CHROOT/$LIBD/
fi
if [ "$prog" = "/usr/bin/sudo" ]; then
mkdir -p $CHROOT/etc
mkdir -p $CHROOT/etc/pam.d
cp /etc/pam.d/system-auth /etc/pam.d/sudo $CHROOT/etc/pam.d
cp /etc/passwd /etc/group /etc/sudoers $CHROOT/etc
echo "Отредактируйте файлы"
echo " $CHROOT/etc/passwd"
echo " $CHROOT/etc/group"
echo " $CHROOT/etc/sudoers"
fi
done
;;
add)
if [ "$2" = "" ]; then
echo "Имя команды не задано"
exit 1
else
prog=`which $2`
mkdir -p $CHROOT/`dirname $prog`
cp $prog ${CHROOT}${prog}
ldd $prog > /dev/nullq
if [ "$?" = 0 ]; then
LIBS=`ldd $prog | awk ' { print $3}'`
for l in $LIBS; do
mkdir -p $CHROOT/`dirname $l` #> /dev/null 2>&1
cp $l $CHROOT/$l #> /dev/null 2>&1
done
if [ "$prog" = "/sbin/iptables" ]; then
LIBD=`ldd $prog | egrep 'ld-linux' | awk '{print $1}'`
LIBD=`dirname $LIBD`
mkdir -p $CHROOT/$LIBD/iptables
cp -a $LIBD/iptables/ $CHROOT/$LIBD/
fi
if [ "$prog" = "/usr/bin/sudo" ]; then
mkdir -p $CHROOT/etc
mkdir -p $CHROOT/etc/pam.d
cp /etc/pam.d/system-auth /etc/pam.d/sudo $CHROOT/etc/pam.d
cp /etc/passwd /etc/group /etc/sudoers $CHROOT/etc
echo "Отредактируйте файлы"
echo " $CHROOT/etc/passwd"
echo " $CHROOT/etc/group"
echo " $CHROOT/etc/sudoers"
fi
if [ "$prog" = "/bin/date" ]; then
mkdir -p $CHROOT/etc
cp /etc/localtime $CHROOT/etc
fi
fi
fi
;;
*)
echo "Используйте "`basename $0`" new|add"
esac"Work PC" E6750/2GB/Asus P5B Deluxe/2x250GB/6600GT 128/Slackware Current (Win 2003 in VmWare)
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
New Work: E6400/3GB/Arch
Home Book: Asus W6k00A/Arch, Asus 701/Arch
-
leksstav
- Сообщения: 331
Re: VPN сервер на linux
Вот например статья хорошая
http://www.sys-adm.org.ua/security/openvpn...#c3%D0%A1%D1%82
Ниже мой конфиг OpenVPN сервера
А, это мои настройки iptables касающиеся VPN-на
Гуру, OpenVPN мона не писать что у тебя что то не так настроено. У меня всё устраивает и всё работает нормально.
Посмотри может что то пригодится когда будеш настраивать свой сервер.
Я, так же настроил подсчёт OpenVPN трафика через netacct-mysql, это название пакета ! А статистику цепляю из мускула самописным скриптом и вывожу её в читаемый веб фейс.
http://www.sys-adm.org.ua/security/openvpn...#c3%D0%A1%D1%82
Ниже мой конфиг OpenVPN сервера
Код: Выделить всё
port 1194
# TCP or UDP server?
proto tcp
;proto udp
dev tap
ca ca.crt
cert trust.crt
key trust.key # This file should be kept secret
dh dh1024.pem
server 192.168.99.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.100.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
#push "redirect-gateway def1"
push "dhcp-option DNS 192.168.99.1"
push "dhcp-option WINS 192.168.99.1"
# The keepalive directive causes ping-like
# messages to be sent back and forth over
# the link so that each side knows when
# the other side has gone down.
# Ping every 10 seconds, assume that remote
# peer is down if no ping received during
# a 120 second time period.
keepalive 10 120
# Enable compression on the VPN link.
# If you enable it here, you must also
# enable it in the client config file.
comp-lzo
# The maximum number of concurrently connected
# clients we want to allow.
max-clients 10
# It's a good idea to reduce the OpenVPN
# daemon's privileges after initialization.
#
# You can uncomment this out on
# non-Windows systems.
user nobody
group nobody
# The persist options will try to avoid
# accessing certain resources on restart
# that may no longer be accessible because
# of the privilege downgrade.
persist-key
persist-tun
# Output a short status file showing
# current connections, truncated
# and rewritten every minute.
status openvpn-status.log
log /var/log/openvpn.log
verb 3
# Silence repeating messages. At most 20
# sequential messages of the same message
# category will be output to the log.
;mute 20А, это мои настройки iptables касающиеся VPN-на
Код: Выделить всё
LAN_VPN_RANGE="192.168.99.0/24"
##Correcting, uncomment next line
iptables -t nat -A POSTROUTING -s $LAN_VPN_RANGE -o $INET_IFACE -j SNAT --to-source $INET_IP #VPN USERS
##Openvpn MASQUERADE
iptables -t nat -A POSTROUTING -s $LAN_VPN_RANGE -o $LAN_IFACE -j MASQUERADE #MASQUERADE dlya Openvpn
##Correcting, uncomment next lines
iptables -A INPUT -p tcp -s $LAN_VPN_RANGE --dport 80 -j ACCEPT # http
iptables -A INPUT -p tcp -s $LAN_VPN_RANGE --dport 3128 -j ACCEPT # squid
iptables -A INPUT -p tcp -s $LAN_VPN_RANGE --dport 22 -j ACCEPT # ssh
iptables -A INPUT -p tcp -s $LAN_VPN_RANGE --dport 25 -j ACCEPT # smtp
iptables -A INPUT -p tcp -s $LAN_VPN_RANGE --dport 110 -j ACCEPT # pop3
iptables -A INPUT -p tcp -s $LAN_VPN_RANGE --dport 445 -j ACCEPT # smbГуру, OpenVPN мона не писать что у тебя что то не так настроено. У меня всё устраивает и всё работает нормально.
Посмотри может что то пригодится когда будеш настраивать свой сервер.
Я, так же настроил подсчёт OpenVPN трафика через netacct-mysql, это название пакета ! А статистику цепляю из мускула самописным скриптом и вывожу её в читаемый веб фейс.