System/OS

[linux] Masquerade 가상 ip분할기법

by hooni posted Apr 23, 2003
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
1. 리눅스 서버 네트워크 셋팅
   $ vi  /etc/sysconfig/network
     FORWARD_IPV4=yes                

   1.1 네트워크 카드가 하나일 경우(방화벽 기능이 약한 Masquerading)
       $ vi /etc/rc.d/rc.local
         ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 up
         route add -host 192.168.1.1 dev eth0:0

   1.2 네트워크 카드가 두개일 경우
   $ netcfg
     Names:       Hostname    - 639.netive.com
                    Domain      - joongang.thrunet.com
                    Nameservers - 210.117.65.1
                                       210.117.65.2
     Hosts:       " "                                                           # dhcp인 경우
                    # 203.239.44.130-639.netive.com-639                           # static ip인 경우
     Interfaces:  eth0 -                  - proto dhcp - atboot yes - active    # dhcp인 경우
                    # eth0 - 203.239.44.130 - proto none - atboot yes - active    # static ip인 경우
                    eth1 - 192.168.1.1 - proto none - atboot yes - active
     Routing:            Network Packet Forwarding(IPv4) Check
                    Default Gateway - " "                                         # dhcp인 경우
                    # Default Gateway-203.239.44.50                               # static ip인 경우
                    Default Gateway Device - eth0

2. 리눅스 서버 환경 설정
  $ vi  /etc/rc.d/rc.local

  # Web과 Telnet 이외의 서비스 추가: 일반적인 설정
  /sbin/depmod  -a
  /sbin/modprobe  ip_masq_ftp
  /sbin/modprobe  ip_masq_raudio
  /sbin/modprobe  ip_masq_irc
  /sbin/modprobe  ip_masq_cuseeme
  /sbin/modprobe  ip_masq_vdolive ports=7000, 7010, 32649 
  /sbin/modprobe  ip_masq_quake
  /sbin/modprobe  ip_masq_autofw 
  /sbin/modprobe  ip_masq_mfw 
  /sbin/modprobe  ip_masq_portfw 
  /sbin/modprobe  ip_masq_user 

  # IP Masquerading 동작
  ipchains  -P  forward  DENY                                                     # 우선 막아 놓고
  ipchains  -A  forward  -j  MASQ  -s  0.0.0.0/0  -d  0.0.0.0/0            # 모두 허락
  # ipchains  -A  forward  -j  MASQ  -s  192.168.1.0/24  -d  0.0.0.0/0           # 192.168.1.* 밑의 모든 ip에게 허락
  # ipchains  -A  forward  -j  MASQ  -s  192.168.1.39/32  -d  0.0.0.0/0           # 단지 특정 192.168.1.39 ip에게만 허락할 경우
  # ipfwadm  -F  -p  deny                                                   # 옛날 버전의 방화벽 프로그램을 이용할 경우
  # ipfwadm  -F  -a  m  -S  192.168.1.0/24  -D  0.0.0.0/0                
  
  # IP Masquerading 최적화
  ipchains -A output -p tcp -d 0.0.0.0/0 telnet -t 0x01 0x10 
  ipchains -A output -p tcp -d 0.0.0.0/0 ftp -t 0x01 0x10 
  ipchains -A output -p tcp -s 0.0.0.0/0 ftp-data -t 0x01 0x08 
  ipchains -A output -p tcp -d 0.0.0.0/0 nntp -t 0x01 0x02 


3. 다이알패드 이용시 설정
   ipchains는 포트 포워딩을 하지 않으므로 ipmasqadm Tool을 설치한다
   다운로드 http://juanjox.kernelnotes.org/ipmasqadm-0.4.2.tar.gz (source) 
                                             ipmasqadm-0.4.2-2.i386.rpm (glibc2 rpm) 
                                            ipmasqadm-0.4.2-2.src.rpm (source) 
                                           ipmasqadm-0.4.2-2.glibc2.tar.gz (glibc2 tar) 
   Firewall을 이용한다면, UDP: 51200, 51201, and TCP: 51210로 설정합니다. 
   아래 /etc/rc.d/rc.local 파일에 아래 2줄을 추가하고, 재부팅 하십시오
   /usr/sbin/ipmasqadm autofw -A -v -u -r udp 51200 51201 -c tcp 7175
   /usr/sbin/ipmasqadm autofw -A -v -u -r tcp 51210 51210 -c tcp 7175

   추가적인 정보를 원하시면, http://www.ispchannel.com/~rottona/linux_dialpad.html을 방문하시기 바랍니다.
    
4. 윈도우 클라이언트 설정
   # 네트워크 등록정보에서
    IP address        192.168.1.2~254
    gateway        192.168.1.1
    DNS                210.112.65.1
                210.112.65.2

5. 테스팅
   - 리눅스 서버에서 내부, 외부 ping 이 모두 되는가
   - 내부 클라이언트에서 리눅스 서버로 ping 되는가
   - ip forward 기능이 동작 되는가
     $ cat /proc/sys/net/ipv4/ip_forward 의 값이 0 이 아닌 1 이어야 한다. 0 이면
     $ echo 1 > /proc/sys/net/ipv4/ip_forward 라고 해서 enable 시켜준다

--------------------------------------------------------------------------------------

IANA는 다음의 세 블록에 해당하는 주소 공간을 사설 인터넷을 위하여 예약해 놓았다.

  10.0.0.0           - 10.255.255.255 (10/8 prefix)
  172.16.0.0         - 172.31.255.255 (172.16/12 prefix)
  192.168.0.0        - 192.168.255.255 (192.168/16 prefix)