Если по каким-либо причинам вам необходимо обеспечить работу OpenVPN на 5000 порту (использовался ранее в OpenVPN) при включенном SELinux, то прийдется вручную создавать модуль SELinux.
Допустим мы:
1. Установили OpenVPN, прописали port 5000 в /etc/openvpn/server.conf
2. Добавили правила в /etc/sysconfig/iptables
-A INPUT -m state --state new -m udp -p udp --dport 5000 -j ACCEPT
3. Добавили правило в SELinux
# semanage port -a -t openvpn_port_t -p udp 5000
/usr/sbin/semanage: Port upd/5000 already defined
4. При запуске OpenVPN
# service openvpn start
получили [FAILED]
в логе openvpn.log увидели
TCP/UDP: Socket bind failed on local address [undef]:5000: Permission denied
в /var/log/audit/audit.log наблюдаем строчку
type=AVC msg=audit(xxxxx): avc:denied { name_bind } for pid=xxx comm="openvpn" src=5000 scontext=unconfined_u:system_r:openvpn_t:s0 tcontext=system_u:object_r:commplex_port_t:s0 tclass=udp_socket
Что делаем? Модуль правил для SELinux.
1. Копируем выше обозначенную строчку из audit.log в файл OPENVPN5000.audit
2.
# cat OPENVPN5000.audit | audit2allow -m audit > OPENVPN5000.te
# cat OPENVPN5000.te
module audit 1.0;
require {
type openvpn_t;
type commplex_port_t;
class udp_socket name_bind;
}
#=========== openvpn_t ==============
allow openvpn_t commplex_port_t:udp_socket name-bind;
3. Проверяем и собираем модуль
# checkmodule -M -m -o OPENVPN5000.mod OPENVPN5000.te
4. Упаковываем модуль
# semodule_package -o OPENVPN5000.pp -m OPENVPN5000.mod
5. Загружаем упакованный модуль
# semodule -i OPENVPN5000.pp
Вот теперь можно успешно перезапусить OpenVPN на 5000 порту
# service openvpn restart
среда, декабря 14, 2011
Подписаться на:
Комментарии к сообщению (Atom)
Мой список блогов
-
-
Notes on LLMapгод назад
-
Строительноегод назад
-
Будем честными ...год назад
-
Highscalability is Up For Sale2 года назад
-
-
-
-
-
Go Composition vs Inheritance6 лет назад
-
Welcome, Prashanth!6 лет назад
-
Top Developer Collaboration Tools6 лет назад
-
Транспортный микс7 лет назад
-
-
Исповедь скрам тестера7 лет назад
-
-
Running JRuby on the Graal JIT7 лет назад
-
-
-
Скрепкус гигантус8 лет назад
-
Мои твиты8 лет назад
-
-
-
6990 рублей9 лет назад
-
-
Смирение и американские боеголовки9 лет назад
-
-
-
-
-
-
Measuring Activity Startup Time10 лет назад
-
-
-
-
-
Рассказ жителя Мариуполя из первых рук12 лет назад
-
-
Grails - Convention over Configuration12 лет назад
-
$ (dollar) prefix for angularJS12 лет назад
-
-
-
-
Блог закрыт!12 лет назад
-
-
Websphere portal. Create pages programmatically13 лет назад
-
-
-
Tweetbot для Mac13 лет назад
-
Scala-IO Core: Unmanaged Resources13 лет назад
-
Использование шрифтов в JasperReports13 лет назад
-
Аудит менеджмента качества13 лет назад
-
-
Windows 8 Camp14 лет назад
-
-
-
Переезд14 лет назад
-
CSP15 лет назад
-
-
Графоманам15 лет назад
-
ListView Multiple Selection 215 лет назад
-
-
-
UnitOfWork & IdentityMap17 лет назад
-
-
-
-
-
-
-
-
-
Комментариев нет:
Отправить комментарий