Как сделать мой клиент Ubuntu членом домена Windows Server 2012 Active Directory, чтобы иметь возможность взаимодействия?

для squid3 transparent proxy write...

http_port 3127  transparent

направьте трафик с 80 на ваш порт 3127

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT --to-destination Server.ip.Address : 3127

чтобы убедиться, что он идет по этому маршруту, закройте/блокируйте порт 80
весь трафик, приходящий из локальной сети, не может получить доступ к порту 80.

iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP
0
27.04.2019, 16:15
1 ответ

В настоящее время рекомендуемым решением для интеграции современных Linux в AD обычно является использование sssd.

Это есть в официальной документации Ubuntu 18.04.

Убедитесь, что установлены необходимые пакеты:

sudo apt install krb5-user samba sssd chrony

Установка krb5-userзапросит три вещи, используя для них общие имена Kerberos:

  • имя области :при работе с AD это имя домена AD в ЗАГЛАВНОМ РЕГИСТРЕ.
  • имя сервера KDC :это одно из заданий контроллера домена AD.
  • имя административного сервера Kerberos :это также контроллер домена AD.

Поскольку аутентификация Active Directory основана на протоколе Kerberos, требуется, чтобы системные часы были достаточно синхронизированы с часами серверов AD. Обычно серверы AD предоставляют для этой цели службу NTP. Если вы используете chronyдля синхронизации времени,добавьте имя вашего (ближайшего )контроллера домена AD также в/etc/chrony/chrony.conf:

server my.ad.domain.controller.example

Samba необходима для выполнения некоторых служб, связанных с аутентификацией AD, даже если вы не используете какие-либо каталоги Linux совместно с системами Windows. Добавьте это в раздел [global]документа /etc/samba/smb.conf:

.
[global]

workgroup = SHORT_NAME_OF_AD_DOMAIN
client signing = yes
client use spnego = yes
kerberos method = secrets and keytab
realm = AD.DOMAIN.FULL.NAME
security = ads

Замените SHORT_NAME_OF_AD_DOMAINи AD.DOMAIN.FULL.NAMEсоответствующим образом.

Создайте файл конфигурации SSSD/etc/sssd/sssd.conf:

[sssd]
services = nss, pam
config_file_version = 2
domains = AD.DOMAIN.FULL.NAME

[domain/AD.DOMAIN.FULL.NAME]
id_provider = ad
access_provider = ad

# Use this if users are being logged in at /.
# This example specifies /home/DOMAIN-FQDN/user as $HOME.  Use with pam_mkhomedir.so
override_homedir = /home/%d/%u

# Uncomment if the client machine hostname doesn't match the computer object on the DC.
# ad_hostname = mymachine.ad.domain.full.name
# Uncomment if DNS SRV resolution is not working
# ad_server = dc.ad.domain.full.name

# Uncomment if the AD domain is named differently than the Samba domain
# ad_domain = AD.DOMAIN.FULL.NAME

# Enumeration is discouraged for performance reasons.
# enumerate = true

Этот файл необходимо защитить, чтобы только root мог получить к нему доступ, иначе sssdоткажется запускаться:

sudo chown root:root /etc/sssd/sssd.conf
sudo chmod 600 /etc/sssd/sssd.conf

Убедитесь, что система всегда знает свое полное -квалифицированное DNS-имя домена; при необходимости добавьте его в /etc/hosts.

Затем перезапустите службы, конфигурация которых была изменена:

sudo systemctl restart chrony.service
sudo systemctl restart smbd.service nmbd.service 
sudo systemctl start sssd.service

Теперь вы уже должны иметь возможность использовать kinitдля выполнения начальной аутентификации Kerberos с помощью AD. Сделайте это как root, используя учетную запись пользователя AD, которая имеет необходимые разрешения для добавления новых систем в домен :

.
sudo kinit Administrator

Убедитесь, что вы действительно получили билет аутентификации Kerberos:

sudo klist

Теперь вы сможете использовать эту команду для фактического присоединения к домену AD:

sudo net ads join -k

Если эта команда выполнена успешно, теперь вы сможете запрашивать информацию об учетных записях пользователей AD с помощью команд Linux:

getent passwd some-AD-username

Поскольку новые пользователи могут быть добавлены в AD в любое время, вам необходимо настроить механизм, который будет автоматически -создавать домашний каталог для любого пользователя AD при входе в систему, если он еще не существует. Добавьте эту строку в /etc/pam.d/common-session, сразу после строки session required pam_unix.so...:

.
session    required    pam_mkhomedir.so skel=/etc/skel/ umask=0022

Строка override_homedirв sssd.confопределяет пути к домашним каталогам пользователей AD.

1
28.01.2020, 03:46

Теги

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