過去記事: samba/Sites200718

ルーターを超えて違うネットワークに存在するPCを参加させてみる
同一拠点でのサブドメインを考えてます。拠点が違う場合は Sites とか考慮する必要があるのでしょうが、ここではごくごく小さな範囲のお話です。
*Sites/subnetを利用するのは距離的に遠くてADとの通信に時間を要する際みたい. ネットワーク的に名前解決ができて接続(ping)できるのは当然のお話. それを踏まえてのSites/subnetみたい

内部ルータを介してsamba-ADを中心にしたネットワークがある.
ここに別のネットワークにあるマシン(emfs)をこのADに参加させて、アカウントを共有させたい.
*LDAPによる方法はsamba/LDAPを参照のこと. あちらはNATPルータを使ってます

2020y07m19d_152720939.png

AD参加するためには、ルータはNATPでは無理. 普通のルータで構築する必要がある.
*LDAPはNATPでも大丈夫だが、kerberosが通らない

ルータ構築

既にルータには2枚のnicが装着されているとする.

DeviceIP AddressGatewayDNS serversSearch domain
eth0192.168.0.100/24192.168.0.1192.168.0.3sybyl.local
eth110.10.0.254/24
  • ルーティングは下記になる
    [root@gate ~]# ip route
    default via 192.168.0.1 dev eth0 proto static metric 100
    10.10.0.0/24 dev eth1 proto kernel scope link src 10.10.0.254 metric 101
    192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.100 metric 100
    [root@gate ~]#
  • ip_forward
    パケットを双方に送るので
    [root@gate ~]# echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
    [root@gate ~]# /sbin/sysctl -p
  • firewallは停止
    [root@gate ~]# systemctl stop firewalld.service
    [root@gate ~]# systemctl disable firewalld.service
  • proxyを用意
    NATPルータではなく、デフォルトゲートウェイに静的ルーティングを定義しないなら用意する. しないとbiosym.local(10.10.0.0/24)が外にでれない
    [root@gate ~]# yum install squid
    [root@gate ~]# systemctl enable squid
    [root@gate ~]# systemctl start squid
    */etc/squid/squid.confの「acl localnet src」に対象とするネットワーク「10.10.0.0/24」が含まれているので無修正
  • DNSを用意
    単に上位のネットワークへの橋渡しをすればいいのでforwardersのみの定義でいい
    設定はrouter/bind参照
  • chronyのサーバ化
    /etc/chrony.confに「allow 10.10.0.0/24」を追記します

AD構築

biosym.local(10.10.0.0/24)内のsamba-adを構築します. OSはCentOS8です.

DeviceIP AddressGatewayDNS serversSearch domain
eth010.10.0.1/2410.10.0.25410.10.0.1
samba-ad設置後は127.0.0.1へ
biosym.local
  • ルーティングは下記になっている
    [root@ad ~]# ip route
    default via 10.10.0.254 dev eth0 proto static metric 100
    10.10.0.0/24 dev eth0 proto kernel scope link src 10.10.0.1 metric 100
    [root@ad ~]#
  • yumにプロキシを設定
    本筋なお話ではないが、これをしないとupdateが出来ないので
    [root@ad ~]# echo "proxy=http://10.10.0.254:3128" >> /etc/yum.conf
  • samba-ad構築
    sambaを参照して構築. ここでは samba-4.12.5 を使用した.
    mkdir -p /opt/src && cd /opt/src
    curl -O https://download.samba.org/pub/samba/stable/samba-4.12.5.tar.gz -x http://10.10.0.254:3128
    tar xzf samba-4.12.5.tar.gz && cd samba-4.12.5
    yum install epel-release
    yum --enablerepo=epel,PowerTools install gnutls-devel gpgme-devel jansson-devel libacl-devel libarchive-devel libattr-devel lmdb-devel \
                                             openldap-devel pam-devel perl-Parse-Yapp python3-dns python36-devel zlib-devel rpcgen
    ./configure --prefix=/opt/samba && make && make install
    ( cd /lib64 ; ln -sv /opt/samba/lib/libnss_* .)
    ( cd /lib64/security ; ln -sv /opt/samba/lib/security/* . )
    echo "exclude=samba-winbind-modules" >> /etc/yum.conf
    後の設定はsamba参照
  • firewallの設定
    firewall-cmd --add-service=samba-dc --permanent
     
    (nfsサービスも行うなら)
    firewall-cmd --add-service=mountd --permanent
    firewall-cmd --add-service=nfs --permanent
    firewall-cmd --add-service=rpc-bind --permanent
     
    firewall-cmd --reload

クライアント(emfs)をルータで隔てられたADに参加させる

クライアントのネットワーク周りは下記のようにします
注意点は、DNS参照先がルータ越しのsamba-ADであること. そして、10.10.0.0/24へのルーティングテーブルを持っていること.

DeviceIP AddressGatewayDNS serversSearch domain
eth0192.168.0.102/24192.168.0.110.10.0.1
192.168.0.3
biosym.local sybyl.local

nmtuiコマンドで定義する画面:
2020y07m19d_032644148.png

  • ipコマンドでルーティングを確認すると
    [root@emfs ~]# ip route
    default via 192.168.0.1 dev ens192 proto static metric 100
    10.10.0.0/24 via 192.168.0.100 dev ens192 proto static metric 100
    192.168.0.0/24 dev ens192 proto kernel scope link src 192.168.0.102 metric 100
  • /etc/hostsの中身は
    127.0.0.1   localhost.localdomain localhost
    192.168.0.102 emfs.biosym.local emfs               # biosym.local所属にしている. こうしないと ad.biosym.local のDNSに自動登録されない.
  • samba-adクライアントのパッケージをインストール
    yum install samba-common samba-common-tools sssd krb5-workstation
  • domain参加に向けて/etc/samba/smb.confを修正する
    [root@emfs ~]# vi /etc/samba/smb.conf
    [global]
      workgroup = BIOSYM
      security = ADS
      realm = BIOSYM.LOCAL
      log file = /var/log/samba/%m.log
      kerberos method = secrets and keytab
      client signing = yes
      client use spnego = yes
  • domain参加
    [root@emfs ~]# net ads join osName=CentOS -Uadministrator
    Enter administrator's password:
    Using short domain name -- BIOSYM
    Joined 'EMFS' to dns domain 'biosym.local'
    [root@emfs ~]#
    ドメイン参加に成功するとADのDNSには下記のように追記される. 本来 emfsはsybyl.local(192.168.0.0/24)所属だけどね
    2020y07m20d_041622467.png
  • 認証設定(sssd設定)
    [root@emfs ~]# vi /etc/sssd/sssd.conf
    [sssd]
      services = nss, pam
      config_file_version = 2
      domains = biosym.local
    [domain/biosym.local]
      id_provider = ad
      auth_provider = ad
      access_provider = ad
      enumerate = True
      krb5_keytab = /etc/krb5.keytab
      ldap_id_mapping = False
      ldap_sasl_authid = emfs$@BIOSYM.LOCAL
     
    [root@emfs ~]# chmod 600 /etc/sssd/sssd.conf
    [root@emfs ~]# authconfig --enablesssd --enablesssdauth --enableforcelegacy --update
    [root@emfs ~]# systemctl start sssd && systemctl enable sssd

これでad.biosym.localで認証を受けられるようになる.
あとはbiosym.localにあるnfsをマウントしたりして環境を整える.


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2020-07-20 (月) 13:23:57 (101d)