프로그램 사용/nfs2011. 7. 29. 11:51
NFS는 보안상의 문제가 있어서 되도록이면 외부접속은 하지 않는게 정석이지만,
꼭 해야 한다면 다음의 절차를 거치면 된다.


1. mountd 서비스 포트 고정
/etc/services 에 mountd를 특정포트로 고정한다.
[링크 : http://mindwing.kr/141]

2. 공유기에서 포트 포워딩
rpcinfo -p 에서 나오는 portmapper 와 nfs 그리고 mountd 포트를 포워딩 해준다.
(111번 그리고 2049번 위에서 설정한 mountd 포트를 포워딩하면 된다)
$ rpcinfo -p
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  58095  status
    100024    1   tcp  49200  status
    100021    1   udp  44937  nlockmgr
    100021    3   udp  44937  nlockmgr
    100021    4   udp  44937  nlockmgr
    100021    1   tcp  50652  nlockmgr
    100021    3   tcp  50652  nlockmgr
    100021    4   tcp  50652  nlockmgr
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp  36811  mountd
    100005    1   tcp  33175  mountd
    100005    2   udp  36811  mountd
    100005    2   tcp  33175  mountd
    100005    3   udp  36811  mountd
    100005    3   tcp  33175  mountd

3. exports 설정
/etc/exports 에 nfs로 마운트할 아이피를 포함하여 작성한다.
  1 # /etc/exports: the access control list for filesystems which may be exported
  2 #               to NFS clients.  See exports(5).
  3 #
  4 # Example for NFSv2 and NFSv3:
  5 # /srv/homes       hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
  6 #
  7 # Example for NFSv4:
  8 # /srv/nfs4        gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)
  9 # /srv/nfs4/homes  gss/krb5i(rw,sync,no_subtree_check)
 10 #
 11
 12 /home/samba/sharedDocs  123.123.123.123(rw,root_squash) 
추가적으로 /etc/hosts.allow /etc/hosts.deny도 하라지만 귀차니즘 -_-


원격지에서 mount시에는 아래와 같이 입력을 하면되며
만약 tcp로 고정하고 싶으면 -o tcp를 추가하면 된다.
# mount -t nfs -o tcp 111.111.111.111:/home/samba/sharedDocs mountpath

만약 123.123.123.123 아이피가 아닌 다른 컴퓨터에서 접속하면 다음과 같이 나온다.
# mount -t nfs 111.111.111.111:/home/samba/sharedDocs tt
mount: RPC: Unable to receive; errno = Connection refused

그나저나.. TCP로 접속해놔도 생각보다 랙이 심하네 공유기를 거쳐서인가?

2009/09/01 - [Linux/Ubuntu] - ubuntu nfs 서버 설치하기
2009/05/12 - [프로그램 사용/u-boot] - nfs를 udp가 아닌 tcp로 연결하도록 설정하기
2010/02/04 - [Linux/Ubuntu] - ubuntu에 NFS 서버 설치


Posted by 구차니