Как правильно настроить DNS для 2 серверов: один для Интернета, другой для почты?

В качестве почтового сервера я использую iredmail . У меня есть почтовый сервер со следующими настройками:

# /etc/hostname
mail

# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost

, поэтому полное доменное имя - mail.mydomain.com .

Здесь я нашел примеры, которые использовал, но с этими примерами мой сервер мог отправлять электронные письма , но не смог получить:

Type     Name                Value                                  TTL
A         @                  195.201.40.1                           1 hour  # Web server
A         mail               195.201.40.2                           1 hour  # Mail server
MX        @                  mail.mydomain.com (Priority: 10)       1 hour
TXT       @                  v=spf1 ip4:195.201.40.2 -all           1 hour
TXT       @                  v=DMARC1; p=reject; sp=reject;...      1 hour
TXT       _adsp._domainkey   dkim=all
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...

Затем я изменил:

MX        @   mail.mydomain.com (Priority: 10)  1 hour

на

MX        mail    mail.mydomain.com (Priority: 10)  1 hour

, и почтовый сервер начал получать электронные письма.

У меня два блока вопросов:

1) Как я понимаю, внешние почтовые службы (например, gmail) отправлять письма на mydomain.com , а не на mail.mydomain.com , потому что мой адрес электронной почты выглядит как somename@mydomain.com и не похоже на somename@mail.mydomain.com. Почему изменение @ на mail решило проблему получения писем?

Я понимаю запись MX @ mail.mydomain.com как: «внешняя почтовая служба, если вы отправляете электронное письмо на адрес somename@mydomain.com

Это то, что я изучал некоторое время назад и нашел кое-какую полезную информацию ... но теперь, когда мне действительно нужно это сделать, я, конечно, не могу найти то руководство, которое видел.

В любом случае, вот ситуация. У меня есть программа, которая запускается с использованием меню ncurses через SSH. Я хочу, чтобы пользователи могли входить в эту программу через SSH, но только в эту программу.

Что мне нужно сделать, чтобы этот сценарий был возможен?

  • Пользователь открывает Putty
  • Пользователь входит в Linux сервер с их именем пользователя и паролем
  • При входе в систему они переходят прямо к этой программе
  • Даже после закрытия программы, сбоя, отмены и т. д. пользователь принудительно выходит из системы.

] Моя цель - запретить им вообще видеть командную строку и ограничиться только этой программой. Это возможно? Как мне это сделать?

0
задан 25 February 2018 в 23:18
1 ответ

Это также называется зависимым входом .

Добавить в ~ /.профилировать выполнение программы и выход.

exec /usr/local/bin/program
exit

Умные пользователи знают, что они могут предоставить в своем ssh-клиенте команду, отличную от ожидаемой. Предотвратите это с помощью ForceCommand в вашей конфигурации sshd:

ForceCommand

Принудительное выполнение команды, указанной ForceCommand, игнорирование любой команды, предоставленной клиентом и ~ / .ssh / rc, если он есть. Команда вызывается с помощью оболочки входа пользователя с параметром -c вариант. Это относится к выполнению оболочки, команды или подсистемы. это наиболее полезен внутри блока Match.

Match Group programusers
    ForceCommand /usr/local/bin/program
1
ответ дан 4 December 2019 в 16:01

Теги

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