¿¹Àü¿¡ FreeBSD(FreeNAS Áö±ÝÀº NAS4 free) °øÀ¯±â °â ¹æÈ­º®À¸·Î »ç¿ëÇÏ´Â ¹æ¹ý¿¡ ´ëÇØ ¿Ã¸° °Í ÀÔ´Ï´Ù.

½Öcpu   
   Á¶È¸ 14499   Ãßõ 2    

옛날에 다른 카페에 본인이 소개를 하였던 내용입니다. 참고 하세요..


FreeNAS는 FreeBSD OS로 만들어진 공개용 NAS이며 완성품 못 지 않은 구성과 서비스를 자랑합니다.
하드웨어 레이드가 되지 않더라도 소프트웨어 레이드를 구현 할 수  있습니다.

FreeBSD로 브릿지 방화벽 처럼 사용 하셔도 됩니다.



본 자료는 FreeNAS를 IP공유기로 활용을 할 때 참고 하시라고 올리는 겁니다.
옛날에 만들었던 자료이고 네트워크 전문가 따라하기 라는 네이버 까페에 본인이 소개를 했던 자료입니다.
내용은 NAS와 좀 다르다고 생각할 수 있지면 FreeNAS의 커맨드나 사용법은 동일하기 때문에 참고하시기 바랍니다.
잘 보시면 응용을 할 수 있는 부분이 많을겁니다.
Nas4Free나 FreeBSD로도 가능합니다.

먼저 쉽게 이해 하시라고 그린 이미지를 보시기 바랍니다.


위 그림은 하나의 예제입니다. 가운데 1개 서버에서(FreeNAS) 나스,방화벽,라우팅 기능을 모두 하는겁니다.
FreeNAS 또는  nas4free, freebsd 이더넷 2개가 기본적으로 필요하게 되겠지요..
nic1로 부터 공인IP를 static하게 아니면 dhcp를 통해 공인 IP를 할당 받아 외부에서 NAS로 접근이 가능하게 하고
nic2로 부터 허브를 연결하여 이하 클라이언트에게는 공유기 역할을 하게 합니다.

아래 설명은 FreeBSD를 기본으로 설치하고 후에 커널을 컴파일 시켜 방화벽과 공유기처럼 사용을 할 수 있게 하는 설명입니다.


FreeBSD OS설치후NAT와 FireWall 서버구축(참고만 하세요)

1.NAT & FireWall서버내역
최소 펜티엄3급과 NIC 2개필요
fxp0 = 인텔랜카드 디바이스명(fxp0는인터넷공인IP이며210.114.174.xx 로가정함)
xl0 = 3com 랜카드 디바이스명(xl0는비공인IP로192.168.0.1 으로가정함)

FreeBSD서버를 대신할 비공인 IP서버들 192.168.0.2 (웹서버80포트로운용될서버)192.168.0.3(MySQL DB서버로3306포트로운용될서버) 192.168.0.4(FTP서버로 21포트로 운용될 서버)

2. FreeBSD설치후 Kernel 소스에 아래 내용을 추가시켜 Krnel 컴파일을한 후 설치를 한다.
(FreeBSD OS설치와 커널컴파일은 별도 자료를 참조하시길)
options IPFIREWALL #FireWall기능을하기위한옵션
options IPFIREWALL_DEFAULT_TO_ACCEPT #Icmp Echo 응답과 NetWork를 Enable시키기 위한 필요옵션
options IPDIVERToptions IPFIREWALL_VERBOSEoptions IPFIREWALL_FORWARD #IP Forwading 으로공인IP에서비공인IP로IP Forwading을시키기위한옵션

3. /etc/rc.conf 에 아래와 같은 내용을 추가 시킨다.
gateway_enable="YES" #FreeBSD를 Gateway로 비공인IP의 Routing 역할을 만든다
firewall_enable="YES"#FireWall 기능을 활성화 시킨다.->FreeNAS는 기본적으로 Firewall기능이 있음
firewall_type="OPEN"natd_enable="YES"# NATD를 구동시켜 공인IP에서 비공인IP로 IP Forwading시킨다.
natd_flags="-f /etc/natd.conf"#natd 실행 옵션파일로서 /etc/natd.conf 를 참조하여 구동 시킨다.

4. etc/rc.conf에 Nic 정보를 설정 한다. (FreeNAS Webgui에서 설정 하세요)
ifconfig_fxp0="inet 210.114.174.xx netmask 255.255.255.0" (이 부분은 유동 IP이면 손볼곳이 없습니다.)
ifconfig_xl0="inet 192.168.0.1netmask 255.255.255.0"

5. /etc/services 파일에 아래 내용의 주석을 제거한다.
#natd8668/divert # Network Address Translation 주석 처리가 되어 있으면 아래와 같이 주석을 제거시킨다.
natd8668/divert   # Network Address Translation

6. IP Forwading으로 Republic IP로 인터넷 서비스를 구현 시킬때
/etc/natd.conf 파일을 생성 시킨다.
vi편집기로 작성할 내용은 아래와 같다.
interface fxp0  # 외부로 나갈 공인IP 인터페이스를 적는다.

# Web서버를192.168.0.2 서버로 Forwading 시킬때
redirect_port tcp 192.168.0.2:80 210.114.174.xx:80 -> 210.114.174.xx로들어오는http 80 Port를비공인IP 인192.168.0.2서버로Forwading시킨다.

# DataBase 서버를 192.168.0.3 서버로 Forwading 시킬때
redirect_port tcp 192.168.0.3:3306 210.114.174.xx:3306

# ftp서버를192.168.0.4 서버로 Forwading 시킬때
redirect_port tcp 192.168.0.4:21 210.114.174.xx:21

이외에도 공인IP에서 비공인IP로 port Forwading 에 따라 응용 시킬 수 있는부분은 많다.

7. Firewall 설정기능 (FreeNAS는 Webgui에서 설정 가능함)
etc/rc.local 파일을 vi 편집기로 생성시킨다.
예제>
Ipfw add allow tcp from any to 210.114.174.xx 80 #외부에서 210.114.174.xx로 접속하는 http 80포트에 대해서 any로 open을시킨다.
Ipfw add allow tcp from 203.238.10.55 to 210.114.174.xx 21 #외부에서 203.238.10.55 IP만 FTP서버에 접속을 허용시킨다.
Ipfw add allow tcp from 192.168.0.2 to 192.168.0.3 3306 #Mysql(DB)서버를 내부 Web서버에서만 접속을 허용 시킨다.
Ipfw add allow tcp from 203.238.10.55 to 210.114.174.xx 22 #외부203.238.10.55 IP에대해서만 NAT&Firewall 기능을 하는 FreeNAS에 SSH 접속만 허용시킨다.

Ipfw add deny tcp from any to 210.114.174.xx 3306 #위에 정의된 IP외에 DB 외부 접속은 모두 차단 시킨다.
Ipfw add deny tcp ftom any to 210.114.174.xx 22 #위에 정의된 IP외에 ssh 외부접속은 모두 차단 시킨다.

간단한 예제로 Firwall 기능을 넣어 외부로부터 서버에대한 접속 허용/차단을 시킬수 있으며 실제로 비공인IP에 대해서는
FireWall설정에 의해 허용된 Port외에 접근을 전혀할수없고 FreeBSD로부터 방어를 받을수 있다.

설명은 FreeBSD이지만 FreeNAS 자체게 FreeBSD OS에 NAS 기능을 구현한 것 이기 때문에
사용법은 동일합니다.
다시 말씀을 드리지만 발통님이 공유기 기능을 할 수 있도록 FreeNAS 커널을 손 보셨으니 그것을 설치 하시고
실제 FreeNAS에서 공유기로만 사용을 하신다면 위에 밑줄 쳐진 부분만
쉘에서 손보시면 되겠습니다.

궁금한 사항은 쪽지 주세요
ªÀº±Û Àϼö·Ï ½ÅÁßÇÏ°Ô.
Q±º 2015-04
À̹ÌÁö°¡ ±úÁ® º¸ÀÔ´Ï´Ù.
[FreeNAS, Áö±ÝÀº NAS4Free]°¡ ¾Æ´Ï¶ó, ÇöÀç´Â ÀÌ µÑ ´Ù Á¸ÀçÇÏ°í ÀÖÁÒ. ÀÌ µÑ ´Ù¿¡¼­ °¡´ÉÇÏÁö ¾ÊÀ»±î ÇÏ´Â »ý°¢À» Çغ¾´Ï´Ù. ^^


;