https://docs.google.com/document/d/1BvSv11iWanhEF79totdC0sAFff4c2jDyZ1QxH031i6E/edit?tab=t.0
상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리인 것처럼 사용할 수 있음
NFS는 리눅스 - 리눅스, 유닉스 - 리눅스 간의 파일 시스템으로 특정 OS에서만 사용이 가능함
rpcbind : RPC 기반 연결을 위한 패키지
nfs-utils : NFS 서버 관련 패키지
dnf -y install rpcbind nfs-utils
systemctl --now enable rpcbind nfs-server
환경 설정 파일 : /etc/exports
공용으로 사용할 서버 디렉터리 생성
mkdir /nfs
vi /etc/exports
systemctl restart nfs-server
systemctl status nfs-server
systemctl status rpcbind
서버에서 nfs로 공유하는 디렉터리 목록 확인 명령어
여기까지 nfs 서버 구축이 완료되었으므로 다른 장비를 클라이언트로 활용하여 테스트
dnf -y install nfs-utils
클라이언트에서 nfs로 접근 가능한 디렉터리 목록 확인 명령어
RPC를 찾을 수 없기에 서버에서 RPC 포트 허용 처리
<서버 작업>
firewall-cmd --add-service={rpc-bind,mountd,nfs} --permanent
firewall-cmd --reload
서버에서 방화벽 개방 후 클라이언트에서 정상적으로 확인되는것을 알 수 있음
클라이언트에서 사용할 마운트 디렉터리 생성
mkdir /nfsmount
NFS 클라이언트에서는 mount 명령을 이용하여 NFS 서버의 파일 시스템을 이용할 수 있고, 부팅할 때 마운트하여 사용하려면 /etc/fstab(자동마운트) 파일에 등록하면 된다.
mount -t nfs 192.168.111.200:/nfs /nfsmount
mount.nfs 192.168.111.200:/nfs /nfsmount
vi /etc/fstab
192.168.111.200:/nfs /nfsmount nfs (default 0 0)
dt -dH
Server A, B 초기화
A에는 DNS 2명 분량의 도메인을 기입
ftp 서브 도메인에 대해 중개
nfs 서브 도메인에 대해 중개
DNS 구성 이후에는 접속, 설정 시에 IP 사용 금지
B에는 FTP 서버를 각각 설정, 상호 간 익명 접속 및 상호 간의 이니셜로 된 사용자 이름으로 접속 후 테스트 파일 업로드
또한 B에 추가적으로 NFS 서버를 설정하고 가능한 상대방의 호스트만 접근할 수 있도록 설정하여 마운트 및 자동 마운트까지 완료하시오. (자동 마운트는 재부팅으로 확인)
공유 경로 등은 임의로 설정
Server A
dnf -y install bind
vi /etc/named.conf
vi /etc/named.rfc1912.zoneszone "slime.com" IN {
type master;
file "slime.com.zone";
allow-update {none;}
};zone "hero.com" IN {
type master;
file "hero.com.zone";
allow-update {none;}
};cd /var/named
cp -p named.empty slime.com.zone
cp -p named.empty hero.com.zonevi slime.com.zone
ftp IN A 192.168.111.200
nfs IN A 192.168.111.200vi hero.com.zone
ftp IN A 10.0.2.224
nfs IN A 10.0.2.224
ns IN A 10.0.2.194systemctl --now enable named
firewall-cmd --add-service=dns --permanent
firewall-cmd --reloadnslookup
ftp.slime.com
nfs.slime.comvi /etc/resolv.conf
nameserver 192.168.111.100
Server B
dnf -y install vsftpd bind-utils
vi /etc/vsftpd/vsftpd.confanonymous_enable=YES
systemctl --now enable vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reloaddnf -y install nfs-utils
mkdir /nfsserver
vi /etc/exports
/nfsserver ns.hero.com(rw,no_root_squash,sync)vi /etc/resolv.conf
nameserver 192.168.111.100systemctl restart nfs-server
서버에서 어떤 호스트에게 어떠한 디렉터리를 열었는지 확인
export -vdnf -y install rpc-bind
firewall-cmd --add-service={nfs,mountd,rpc-bind} --permanent
firewall-cmd --reload
Server A
클라이언트에서 공유 디렉터리 확인
showmount -e nfs.slime.com
showmount -e nfs.hero.commkdir /nfsclient
mount -t nfs nfs.slime.com:/nfsserver /nfsclientmkdir /nfsclient/testnfs
vi /etc/fstab
ns.slime.com:/nfsserver /nfsclient nfs default 0 0
ns.hero.com:/nfsserver /nfsclient nfs default 0 0systemctl daemon-reload
연결 이름 확인
nmcli con sh - name에 있는게 진짜 이름으로 설정 시 해당 이름을 기준으로 설정해줘야함
nmcli con mod ens33 ipv4.dns "192.168.111.100"
DHCP에서 DNS 받아오지 않게 하기
nmcli con mod ens33 ipv4.ignore-auto-dns yes
여러 DNS 주소 삽입
nmcli con mod ens33 ipv4.dns "192.168.111.100 1.1.1.1"
nmclie con down ens33
nmclie con up ens33
cat /etc/resolv.conf
10.0.2.1이 가장 첫번째로 올라오는 문제 발생
DNS priority라는 우선 순위 설정 방법
nmcli con mod ens33 ipv4.dns-priority 10
nmcli con mod "유선 연결 1" ipv4.dns-priority 100
nmcli con down "유선 연결 1"
nmcli con up "유선 연결 1"
cat /etc/resolv.conf
10.0.2.1이 후순위로 밀려있는것을 확인
vi /etc/fstab에 옵션 추가해서 마운트 성공
defaults,_netdev,x-systemd.requires=network-online.target
_netdev → nfs 용 네트워크 파일 시스템(장치)를 마운트 하겠다고 알림
systemctl status NetworkManager-wait-online.service
systemd 데몬(슈퍼 데몬)이 네트워크 연결 확인 이후 작동
nfs.my.io:/nfsserver /nfsclient nfs defaults,_netdev,x-systemd.requires=network-online.target 0 0
자동화 → 타이밍