System/OS
2003.04.23 10:30
[linux] Masquerade 가상 ip분할기법
조회 수 47935 댓글 0
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)
번호 | 분류 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|---|
46 | System/OS | [linux] split 명령어 | hooni | 2014.03.11 | 4300 |
45 | System/OS | [mac] 맥OSX에서 NTFS 쓰기 기능 활성화 | hooni | 2014.03.12 | 4281 |
44 | System/OS | Mac에서 Node.js 설치하기 | hooni | 2018.09.28 | 4177 |
43 | System/OS | [android] 초간단 HTTP, POST 전송 샘플 1 | hooni | 2017.02.16 | 3421 |
42 | System/OS | How to Setup an Email Server on CentOS 7 | hooni | 2018.04.05 | 2769 |
41 | System/OS | Apache CORS 설정 1 | hooni | 2020.09.04 | 2689 |
40 | System/OS | 무료로 HTTPS 적용하기 (Lets' Encrypt) | hooni | 2017.02.16 | 2153 |
39 | System/OS | [mac][추천 무료앱] 구름 입력기 - 국내 맥 사용자를 위한 한글 대안 입력기 1 | hooni | 2015.01.04 | 2136 |
38 | System/OS | 서버 확장을 위한 두 가지 방법 | hooni | 2018.08.29 | 2087 |
37 | System/OS | iptime 공유기 해킹 기술문서 4 | hooni | 2015.01.01 | 1937 |
36 | System/OS | 맥 OS X 에서 스크린 화면 캡쳐 단축키 (Mac Print Screen) | hooni | 2015.07.21 | 1890 |
35 | System/OS | [mac] 맥에서 기본 실행 앱 변경하기 | hooni | 2018.03.02 | 1794 |