/ubuntu

Ubuntu18.04 서버 nis, nfs 설정

Ubuntu18.04의 nfs, nis 서버 세팅방법에 대한 내용이다. 아래 포스트 내용은 Serverworld와 경험을 참고하여 작성하였다.


NFS

NFS는 Network File System으로 다른 서버의 디스크를 자신의 로컬 디스크처럼 마운트하여 사용한다.

NIS설정 이전에 NFS설정이 우선 되어야한다.


NFS Server

NFS서버는 자신의 디스크(혹은 디렉토리)를 클라이언트 들에게 내보낼 서버이다. 즉, /home 디렉토리를 로컬 저장소에 저장하는 녀석이다.

$ apt -y install nfs-kernel-server
$ vim /etc/idmapd.conf

# line 6: uncomment and change to your domain name
Domain = toy.skku

위에서 domainname은 $ domainname으로 알아낼 수 있고, 혹시 없다면 새로 하나 정해서 적어준다. 후에 nis 설정할 때 사용할 것이다. domainname은 toy.skku처럼 네트워크로 이어진 다른 서버들과 겹치지않을 이름으로 만들면 된다.

$ vim /etc/exports

# write settings for NFS exports
/home 10.0.0.0/24(rw,no_root_squash)

위의 아이피(10.0.0.0/24)는 NFS server의 /home을 내보낼 서버들을 지칭한다. 만약 client서버가 111.111.111.112 - 111.111.111.115 라면 하나하나 다 적어주어도 되고, /24 (서브넷 마스크)를 이용해서 앞의 24비트만 같으면 내보내게 할 수 있다.

$ systemctl restart nfs-server

NFS Client

NFS 클라이언트는 NFS서버에서 디렉토리를 받아오는 서버이다. 아래와 같이 설정한다.

$ apt -y install nfs-common
$ vi /etc/idmapd.conf

# line 6: uncomment and change to your domain name
Domain = toy.skku

$ mount -t nfs nfs.toy.skku:/home /home

이때, nfs는 NFS 서버의 hostname이고 nfs.toy.skku는 /etc/hosts에 기록되어 있거나 도메인네임이 등록되어 있어야한다.

시스템이 켜질때 마운트 될 수 있도록 fstab에 기록해준다.

$ vi /etc/fstab
# add like follows
nfs.toy.skku:/home   /home  nfs     defaults        0       0

오토 마운팅을 위해 아래 내용도 설정해준다.

$ apt -y install autofs
$ vi /etc/auto.master

# add follows to the end
/-    /etc/auto.mount

root@client:~# vi /etc/auto.mount

# create new : [mount point] [option] [location]
/home -fstype=nfs,rw  dlp.srv.world:/home

$ mkdir /home
$ systemctl restart autofs

NFS 설정은 끝났다.


NIS

NIS는 연결된 서버의 아이디를 통합해준다. 서버중 하나가 마스터서버가 되어서 아이디와 패스워드를 관리한다.

NIS Server

nis를 설치하고 도메인네임을 입력해준다. NFS 서버와 같은 서버에서 진행한다.

$ apt -y install nis

# NIS domain :

toy.skku_______________

domainname은 /etc/defaultdomain을 수정해서 바꿀 수 있다.

$ vi /etc/default/nis

# line 6: change (set NIS master server)
NISSERVER=master

$ vi /etc/ypserv.securenets
# This line gives access to everybody. PLEASE ADJUST!
# comment out
# 0.0.0.0 0.0.0.0
# add to the end: IP range you allow to access
255.255.255.0   111.111.111.0

$ vi /var/yp/Makefile

# line 52: change
MERGE_PASSWD=true
# line 56: change
MERGE_GROUP=true

$ vi /etc/hosts
127.0.0.1       localhost
# add own IP address for NIS
111.111.111.111       dlp.toy.skku  dlp

# update NIS database
$ /usr/lib/yp/ypinit -m
At this point, we have to construct a list of the hosts which will run NIS
servers.  dlp.toy.skku is in the list of NIS server hosts.  Please continue to add
the names for the other hosts, one per line.  When you are done with the
list, type a <control D>.
        next host to add:  dlp.toy.skku
        next host to add:  # Ctrl + D キー
The current list of NIS servers looks like this:

dlp.toy.skku

$ systemctl restart nis

NIS Client

클라이언트의 설정은 다음과 같다.

$ apt -y install nis

# NIS domain :

toy.skku_______________

여기 까지는 Server 설정과 같다.

$ vi /etc/yp.conf
#
# yp.conf       Configuration file for the ypbind process. You can define
#               NIS servers manually here if they can't be found by
#               broadcasting on the local net (which is the default).
#
#               See the manual page of ypbind for the syntax of this file.
#
# IMPORTANT:    For the "ypserver", use IP addresses, or make sure that
#               the host is in /etc/hosts. This file is only interpreted
#               once, and if DNS isn't reachable yet the ypserver cannot
#               be resolved and ypbind won't ever bind to the server.

# ypserver ypserver.network.com
# add to the end: [domain name] [server] [NIS server's hostname]
domain toy.skku server dlp.toy.skku

$ vi /etc/nsswitch.conf

# line 7: add like follows
passwd:         compat systemd nis
group:          compat systemd nis
shadow:         compat nis
gshadow:        files

hosts:          files dns nis

# set follows if needed (create home directory automatically if none)
$ vi /etc/pam.d/common-session

# add to the end
session optional        pam_mkhomedir.so skel=/etc/skel umask=077

$ systemctl restart rpcbind nis

로그아웃 후에 NIS 서버에 있는 아이디로 로그인 해보면 로그인이 될 것이다.

nis로 연결된 아이디의 비밀번호는 yppasswd로 바꿀 수 있다.

Jaeyoun

Jaeyoun

The maintainer

Read More