nfs 서버 포트포워딩 관련 문의드립니다

   조회 2117   추천 0    

안녕하세요.

서버 구성 중 nfs와 포트포워딩 관련해서 궁금한 점이 생겨 문의드리게 되었습니다.

현재 저희 서버는 외부 인터넷과 연결된 서버 1, 2가 있습니다. 또한, 내부망으로 연결된 서버 2, 3, 4가 존재합니다.

즉, 서버 1은 완전히 외부와만 연결된 서버이고, 서버 2는 내외부로 연결된 서버이며, 서버 3, 4는 내부망만 연결되어 있습니다.

제가 진행하고자 하는 일은, 서버 1에 있는 자료를 nfs 서버와 같은 방식으로 공유하고 서버 2, 3, 4의 자체 filesystem에 모두 각각 mount하는 것입니다.


처음에는, 서버 2의 외부망으로 들어온 2049 (rpcbind), 111 (portmapper)과 mountd의 포트를 서버 3, 4의 내부망으로 forwarding하는 것을 고려하였습니다. 

-> 서버 2가 eth0을 통해 외부망과, eth1을 통해 내부망과 연결되어 있고, 서버 2의 외부망 ip를 1.2.3.4, 서버 3의 내부망 ip를 192.168.0.3이라고 하면, linux의 서버 2의 iptables에 아래와 같은 규칙을 적어주어 보았는데, 잘 되지는 않았습니다...

1) -A PREROUTING -i eth0 -p tcp --dport 2049 -j DNAT --to-destination 192.168.0.3:2049 (111, mountd 포트에 대해서도 반복)

2) -A PREROUTING -i eth0 -p udp --dport 2049 -j DNAT --to-destination 192.168.0.3:2049 (111, mountd 포트에 대해서도 반복)

3) -A POSTROUTING -o eth1 -j MASQUERADE

물론 위처럼 했을 때 서버 3에서도 잘 되지는 않았지만, 하던 도중 이 방식에는 문제가 있다는 생각이 들었습니다. 먼저 하나의 포트로 들어온 것을 두 개의 포트로 forward해주는 것이 불가능하고, 만약 서버 3과 같은 특정 서버로 외부 포트를 모두 fowarding해주게 되면 서버 2 또한 외부 포트로 들어온 nfs 패킷을 받을 수 없다는 생각이 들었습니다.


혹시 제가 현재 생각하고 있는 것이 잘못된 것이고, 해당 방식이 가능한 것인지, 가능하다면 어떻게 하는 것이 좋을지 알려주시면 감사하겠습니다.

해당 방식이 불가능한 것이 맞다면, 혹시 대책이 있을지도 함께 고민해주시면 정말 감사하겠습니다 ㅠㅠ

짧은글 일수록 신중하게.
김강호 2024-03
nfs는 실제 연결에 유동 포트를 사용하기 때문에, 컨피그에서 해당 포트를 고정할 필요가 있습니다.
https://access.redhat.com/documentation/ko-kr/red_hat_enterprise_linux/6/html/storage_administration_guide/s2-nfs-nfs-firewall-config

이와 별개로, nfs는 외부 인터넷에 노출하기엔 인증 부분이 취약한 서비스라 되도록이면 다른 방법을 강구하는 편이 좋지 않을까 합니다.
     
차가운아앙 2024-03
답변 감사합니다. 우선 말씀하신 바와 같이 포트를 이미 고정해둔 상태입니다.
또한, 내부망과 외부망을 나눈 이유가 보안의 문제도 있긴 하지만... 저희 팀 상황에서 일단 크게 중요한 문제는 아니라 그건 고려하지 않으셔도 될 것 같습니다.
그래도 혹시 다른 방법이 생각나시는 게 있다면 말씀해주셔도 정말 감사할 것 같습니다!
제온프로 2024-03
서버 1 에 랜선을 추가해서 내부 스위치에 물려주세요.
포트를 열지 말고..
     
차가운아앙 2024-03
일단 그렇게 하는 방식을 먼저 고려했는데요... 서버 1과 나머지 서버들이 물리적으로 떨어져 있는 상황이라 옮기지 않고 하는 방법을 강구하고 있었습니다 ㅠㅠ
찬이 2024-03
지금은 서버 2에서 외부망 to 내부망으로 연결되는데,
NFS서버가 서버1이라면 반대로 내부망 to 외부망(서버1)로 포워딩을 해야 하는거 아닌가요?

서버 1에서는 보안을 위해 src ip 로 필터링을 하시고,
서버 2에서 내부망에서 들어오는 포트를 서버1로 dnat 하고, 반대는 snat 하면 될거같습니다.
     
차가운아앙 2024-03
아아 그렇군요... iptable 설정하는 것을 검색으로 알음알음 공부했는데, 아예 거꾸로 생각하고 있었네요.
그렇게 해보고 후기 말씀드리겠습니다 ㅎㅎ 감사합니다!


QnA
제목Page 159/5714
2014-05   5189203   정은준1
2015-12   1722215   백메가
2024-03   1455   삐돌이슬픔이
2024-03   2213   Kimmandu
2024-03   1735   김동혁1
2024-03   1715   압구정노랭이
2024-03   1511   신은왜
2024-03   1816   미니미
2024-03   1972   화란
2024-03   1633   행복하세
2024-03   1693   초코송이
2024-03   2003   고양이는애옹
2024-03   2484   신은왜
2024-03   2118   차가운아앙
2024-03   1615   무아
2024-03   2430   azchoi
2024-03   1716   고무마또
2024-03   2139   밥알1김형근1
2024-03   1392   도아삼촌
2024-03   1265   미담
2024-03   2157   강한구
2024-03   1346   올닉스