NFS는 최초의 Filesystem으로 SUN사에서 개발되어 대부분의 유닉스에서 사용 가능하다. samba서버 운영방식는 server가 Linux이고 client가 window인 반면 NFS서버 운영방식은 server가 Linux이고 client도 Linux다. 또한 samba서버는 계정명으로 사용자를 구분하지만 NFS서버의 경우에는 UID값으로 사용자를 구분한다. 또 samba서버는 동기화 되지만 NFS서버는 mount를 해주어야 한다. mount는 모든 매체를 디렉토리에 연결하는 행위를 의미한다.
samba | NFS | |
서버 | Linux | Linux |
클라언트 | Windows | Linux |
사용자구분 | 계정명 | UID |
연결방식 | 동기화 | mount |
관련 파일은 다음과 같다
Server | Clinet | |
데몬 | /usr/sbin/exportfs | /usr/sbin/rpcbind |
관리 스크립트 | /usr/lib/systemd/system/nfs.service | /usr/lib/systemd/system/rpcbind.service |
환경 설정 파일 | /etc/exports |
<*CentOS6번대 버전의 경우 Clinent에서 rpcbind가 아닌 portmap으로 입력해야 한다.>
NFS 서버 실행은 'systemctl start nfs.service'로 실행한다.
'/etc/exports'파일 설정은 NFS로 제공될 디렉토리나 파일과 권한을 설정 할수있다.
'디렉토리 클라이언트(옵션)'으로 구성되어 있다. 허가할 클라이언트 지정의 경우에는 IP와 넷마스크를 사용하는 방식과 IP와 호스트 주소를 적는 방법이 있는데 IP와 넷마스크를 이용해 클라이언트를 지정하는 방식이 정확하다.
옵선은 다음과 같다.
- ro : 읽기 전용, rw : 읽기 쓰기 허용
- root_squash : 클라이언트의 root를 nobody로 매핑 /no_root_squash : 클라이언트의 root와 서버의 root를 일치시킨다.
- all_squash : 모든 사용자를 nobody로 매핑 /no_all_squash : 서버의 사용자와 클라이언트의 사용자를 일치시킨다.
* 일반유저의 default는 no_all_squash / root의 default는 root_squash이다.
- anonuid=uid, anongid=gid : nobody로 매핑 될경우 지정된 계정이나 그룹으로 대상을 변경한다.
- sync : 파일 쓰기 후에 디스크 동기화
- insecure : 인증되지 않은 접속도 허용
※ 서버-클라이언트간 계정 매핑은 UID를 기준으로 한다
마운트 방법은 먼저 'systemctl start rpcbind.service'를 입력하고 아래의 명령어를 입력하면 된다.
mount –t nfs NFS서버IP:/NFS서버의공유디렉토리 /마운트할디렉토리
ex) mount 192.168.10.31:/home/pub /home/pub
주의할점은 mount명령어는 부팅시 해제 되므로 지속적인 연결을 하려면 /etc/rc.d/rc.local에 지정해 두어야 한다.
<옵션>
;/home/all 192.168.10.157(rw,no_root_squash)
;/home/all 192.168.10.157(rw,all_squash)
;/home/all 192.168.10.157(rw,no_all_squash)
;/home/all 192.168.10.157(rw,all_squash,root_squash)
;/home/all 192.168.10.157(rw,all_squash,no_root_squash)
;/home/all 192.168.10.157(rw,no_all_squash,root_squash)
;/home/all 192.168.10.157(rw,no_all_squash,no_root_squash)
;/home/all 192.168.10.157(rw,anonuid=##,anongid=##)
<계정 및 그룹, 공유디렉토리, Server IP, Client IP>
user -u 10066 -g 10004 st001group -g 10004 nfs
directory /home/all
server bst090:192.168.10.158 / client bst009:192.168.10.157
실습

























멀티 네트워크망 구축 마지막
중간 리눅스는 랜카드가 제 기능을 못함 따라서 패킷교환 불가하다.
포워딩 설정이 필요한데 파라미터 값으로 변경 가능하다.
ip_forward 파라미터의 디폴트는 0이다. 또한 커널 파라미터이기 때문에 하드드라이브가 아닌 메모리에 저장된다.
패킷 포워딩을 설정하는 방법은 3가지가 있다.
1. # sysctl –w net.ipv4.ip_forward=1
이 방식은 직접적인 명령어를 입력하는것으로 ip_forward=1에서 =앞뒤로 공백이 없어야 한다.
2. # echo 1 > /proc/sys/net/ipv4/ip_forward
이 방식은 프로토콜에 추가하는 방식이다. 이 방식은 메모리에 저장하는 방식이라 리부팅시 다시 명령해주어야 한다.
3. # /etc/sysctl.conf 파일에 ‘net.ipv4.ip_forward = 1’을 추가한다.
이 방식은 '/etc/sysctl' 파일을 설정하기 때문에 지속적인 저장이 가능하다. 수정 후에는 'sysctl -p'로 적용시켜준다.
라우팅 테이블을 추가하는 방식은 윈도우와 리눅스가 다르다.
윈도우용 : route –p add [NETWORKIPaddress] MASK [NETMASK] [GW_IP] [I(nter)F(ace_number)]
만약 라우터 테이블을 추가해 주어도 통신이 안된다면 통신이 추가한 인터페이스로 가는 것이 아니라 게이트웨이로 가는 것이기 때문에 뒤에 입력해주어야된다. 인터페이스 번호는 route PRINT의 첫 섹션에 정보를 참조하면 된다.
윈도우용 라우팅 테이블 제거 : route –p delete [NETWORKIPaddress] MASK [NETMASK] [GW_IP]
리눅스용 : route add –net [NETWORKIPaddress] netmask [NETMASK] gw [GW_IP]
리눅스용 라우팅 테이블 제거 : route del –net [NETWORKIPaddress] netmask [NETMASK] gw [GW_IP]
크로스넷_포워딩은 정상적인 ip인지 확인 환경에 PC만 세팅이 되었을때 어떤 테스트를 해야 통신이 되는지 기술이다.
192.168.10.0/24 네트워크와 192.168.111.0/24 네트워크와 192.168.112.0/24 네트워크를 연결하는 |
'교육 > Server' 카테고리의 다른 글
Day 38 (Web Server + Oracle + Samba) (2) (0) | 2020.01.10 |
---|---|
Day 38 (Web Server + Oracle + Samba) (1) (0) | 2020.01.10 |
Day 23 (SAMBA & NAT & Oracle windows) (0) | 2019.12.18 |
Day 22 (SAMBA & NAT) (0) | 2019.12.17 |
Day 21 (NAT & Samba) (0) | 2019.12.17 |