Назад | Перейти на главную страницу

Директива OpenVPN up не работает

У меня проблемы с настройкой OpenVPN на моем сервере под управлением CentOS 6.2. Раньше я использовал OpenVPN на этом сервере, и он работал (хотя это было с Ubuntu, теперь я использую CentOS). Я только что переформатировал жесткий диск и пытаюсь снова запустить OpenVPN. Я использую up и down директивы в моем файле конфигурации OpenVPN для настройки моста. По какой-то причине, когда up скрипт запускается, я получаю сообщение об отказе в разрешении при попытке выполнить brctl. Вот мой файл конфигурации:

mode server
tls-server

local 192.168.1.93 ##ip of server
port 1194
proto tcp

dev tap0
up "/etc/openvpn/up.sh br0"
down "/etc/openvpn/down.sh br0"

persist-key
persist-tun

ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
#tls-auth ta.key 0

cipher BF-CBC
comp-lzo

ifconfig-pool-persist ipp.txt
server-bridge 192.168.1.93 255.255.255.0 192.168.1.110 192.168.1.120
push "dhcp-option DNS 192.168.1.1"
push "dhcp-option DOMAIN nyc.rr.com"
max-clients 10

user nobody
group nogroup
keepalive 10 120
status openvpn-status.log
verb 3

А вот up.sh сценарий:

#!/bin/sh

BR=$1
DEV=$2
MTU=$3
/sbin/ifconfig $DEV mtu $MTU promisc up
/usr/sbin/brctl addif $BR $DEV

brctl отлично работает вне этого скрипта. Я могу выполнить это вручную.

Я запускаю OpenVPN как root, поэтому я не думаю о разрешениях в этой проблеме, поэтому я так запутался.

Спасибо за любую помощь.

РЕДАКТИРОВАТЬ: вот ошибка, которая повторяется:

[root@server openvpn]# /etc/init.d/openvpn start Starting openvpn: /etc/openvpn/up.sh: line 7: /usr/sbin/brctl: Permission denied [FAILED]

Я верю, ты ударил эта ошибка.

Создайте файл openvpnlocal.te:

module openvpnlocal 1.0;
require {
    type openvpn_t;
    type brctl_exec_t;
    class file { read execute open execute_no_trans };
}
#============= openvpn_t ==============
allow openvpn_t brctl_exec_t:file { read execute open execute_no_trans };

Затем запустите:

checkmodule -M -m -o openvpnlocal.mod openvpnlocal.te
semodule_package -o openvpnlocal.pp -m openvpnlocal.mod
semodule -i openvpnlocal.pp