OpenBSD sshd в rdomain

Я пытаюсь настроить резервный кластер CARP с разделением маршрутизации с помощью rtables. Все работает нормально, но как мне сказать sshd запускать только в rdomain 2? Я знаю, что могу запустить его вручную с помощью

# route -T4 exec /usr/sbin/sshd

, но, похоже, нет интеграции rdomains в конфигурацию sshd.

0
задан 27 July 2017 в 09:42
2 ответа

Вы можете написать настроенный (вызываемый через route -T4 ) демон ssh с помощью rc.d (8 ), rcctl (8), rc.subr (8).

Отключите исходный sshd в /etc/rc.conf и поместите /etc/rc.d/rdomainsshd.

Шаблонный сценарий для / etc / rc. d / rdomainssshd:

/usr/ports/infrastructure/templates/rc.template

Вот страницы руководства OpenBSD:

0
ответ дан 5 December 2019 в 07:39

sshd_config (5) показывает:

 ListenAddress
         Specifies the local addresses sshd(8) should listen on.  The
         following forms may be used:

               ListenAddress hostname|address [rdomain domain]
               ListenAddress hostname:port [rdomain domain]
               ListenAddress IPv4_address:port [rdomain domain]
               ListenAddress [hostname|address]:port [rdomain domain]

         The optional rdomain qualifier requests sshd(8) listen in an
         explicit routing domain.  If port is not specified, sshd will
         listen on the address and all Port options specified.  The
         default is to listen on all local addresses on the current
         default routing domain.  Multiple ListenAddress options are
         permitted.  For more information on routing domains, see
         rdomain(4).

Поэтому убедитесь, что в вашей конфигурации sshd есть, например. ListenAddress 0.0.0.0 rdomain 1 . Чтобы создать экземпляр sshd, просто выполните:

# ln -s sshd /etc/rc.d/sshd_rdomainX
# rcctl enable sshd_rdomainX
# rcctl set sshd_rdomainX flags -f /etc/ssh/sshd_config-rdomainX

Чтобы проверить его, попробуйте:

mx1#  /usr/sbin/sshd -T -f /tmp/sshd_config  | grep listenaddress
listenaddress 0.0.0.0:22 rdomain 1
mx1# /usr/sbin/sshd -D -d -f /tmp/sshd_config                     
...
debug1: rexec_argv[0]='/usr/sbin/sshd'
debug1: rexec_argv[1]='-D'
debug1: rexec_argv[2]='-d'
debug1: rexec_argv[3]='-f'
debug1: rexec_argv[4]='/tmp/sshd_config'
debug1: Bind to port 22 on 0.0.0.0.
Server listening on 0.0.0.0 port 22 rdomain 1.
...
0
ответ дан 5 December 2019 в 07:39

Теги

Похожие вопросы