У меня проблемы с настройкой 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