Home > FreeBSD, Полезности > FreeBSD и named на динамическим интерфейсе

FreeBSD и named на динамическим интерфейсе

October 6th, 2011 Leave a comment Go to comments

Ситуация: нужно запустить DNS-сервер на динамическом интерфейсе (ppp, pppoe etc).

Под FreeBSD и, наверное, не только, named не сможет слушать 53-й порт на динамическом интерфейсе, который появился после запуска Named, поскольку не разрешается чиста-пользователям биндить порты ниже 1024-го. Соответственно, named пропускает этот интерфейс и выдает в лог

... named: network: listening on IPv4 interface tun0, 195.214.198.170#53
... named: network: could not listen on UDP socket: permission denied
... named: network: creating IPv4 interface tun0 failed; interface ignored

Конечно, можно перезапускать named через start-скрипт от PPP, но предпочел сделать более стандартными средствами, используя Mandatory Access Control (MAC).

Для этого

  • Ядро компилируется с option MAC (обязательно!)
  • Либокомпилировать ядро с option MAC_PORTACL, либо загрузить модулем (в файл /boon/loader.conf прописать строку
mac_portacl_load="YES"
  • В файл /etc/sysctl.conf добавляются строки
security.mac.portacl.enabled=1
security.mac.portacl.suser_exempt=1
security.mac.portacl.port_high=1023
net.inet.ip.portrange.reservedlow=0
net.inet.ip.portrange.reservedhigh=0
security.mac.portacl.rules=uid:53:tcp:53,uid:53:udp:53
  • либо перезагрузить комп, либо выполнить следующие команды. Кому как нравится…
# kldload  /boot/kernel/mac_portacl.ko
# /etc/rc.d/sysctl reload

Ссылки: FreeBSD -> Handbook – The MAC portacl Module и обсуждение на форуме FreeBSD.

 

 

  1. No comments yet.
  1. No trackbacks yet.
You must be logged in to post a comment.