처음이군요..음...요며칠 IP-MASQ를 하면서 했던걸 적었습니다.HOWTO문서를 참고했습니다.일
원짜리가 될지는 저도 모르겠습니다.물론 틀릴수도 있겠죠....^^;###################################
####################IP-MASQ + IP-CHAINS 리눅스 박스를 gateway로 이용하여 공인 IP가 없는 클라이
언트(windows) 를 인터넷에 연결시키기######################################################1. 가정 **
랜카드 두장으로 하는 연결입니다. 모뎀은 아니구요 ** 공인 IP = 100.100.100.100 ( eth0 ) Su
bnet Mask = 255.255.255.0 비공인 IP = 192.168.1.1 (eth1) Subnet Mask = 255.255.255.0
---------------------------------------------------- 비공인 IP Network = 192.168.1.0 (192.168.1.2 - 192.168.1.
254) Subnet Mask = 255.255.255.0 ---------------------------------------------------- Kernel = 2.2.11 or grater
(2.2.11이전에는 버그가 있음) ipchains-1.3.92. IP-MASQ가 이런것이더라...INTERNET <---------> (eth0) L
INUX BOX (eth1) <-----> client1 (192.168.1.2) <----->
client2 (192.168.1.3) <-----> client3 (192.168.1.4)
.....
.....## LINUX BOX에 LAN카드 두장 꼽아야겠죠...? ##3. 커널 옵션 (2.
2.x) - 커널에서 IP-MASQ가 될수 있도록 ... 다음 부분에 Yes나 No를 선택하세요 ~~ * Prompt fo
r development and/or incomplete code/drivers - Yes * Enable loadable module support - Yes * Networking
support - Yes * Packet socket - Yes * Kernel/User netlink socket - Yes * Routing messages
- No * Network firewalls - Yes * TCP/IP Networking - Yes * IP: advanced router - No
* IP: verbose route monitoring - Yes (highly recommended) * IP: firewalling - Yes * IP: firewall pa
cket netlink device - Yes * IP: always defragment - Yes * IP: masquerading - Yes * IP: ICMP m
asquerading - Yes * IP: masquerading special modules supports - Yes * IP: ipautofw masq support (EXPE
RIMENTAL) - No (Not recommended) * IP: ipportfw masq support (EXPERIMENTAL) - Yes (이 옵션으로
MASQed된 내부의 WWW,SMTP서버에 access가능) * IP: ip fwmark masq-forwarding support (EXPERIMENTAL) - N
o (아직은 실험단계라 IPMASADM이라는 프로그램을 쓰라고하네요) * IP: optimize as router not ho
st - Yes * IP: GRE tunnels over IP - No * IP: TCP syncookie support - Yes * Network device su
pport - Yes * Dummy net driver support - Yes * /proc filesystems - Yes 자 이렇게 하
구서... make dep;make clean;make bzImage;make modules;make modules_install 그리고 /boot와 /etc/lilo.conf에
커널에 맞게 설정을 하구서4. /etc/rc.d/rc.firewall이라는 파일을 만듭니다. #/etc/rc.d/rc.firewall
/sbin/depmod -a /sbin/modprobe ip_masq_radio /sbin/modprobe ip_masq_irc /sbin/modprobe ip_masq_quak
e /sbin/modprobe ip_masq_cuseeme /sbin/modprobe ip_masq_vdolive echo "1" > /proc/sys/net/ipv4/ip_forward
(redhat 사용자는 /etc/sysconfig/network에다가 FORWARD_IPV4=false --> true로 하면 됩니
다.) # DHCP user # 만약 DHCP를 이용하여 ip (eth0)를 받는다면 다음을 설정합니다. #
두루넷 사용자들이 이걸 쓰겠군요....^^ #echo "1" > /proc/sys/net/ipv4/ip_dynaddr # MASQ tim
eout /sbin/ipchains -M -S 7200 10 160 # DHCP를 쓰는 경우 다음을 해줘야 합니다. #/sbin
/ipchains -A input -j ACCEPT -i eth0 -s 0/0 67 -d 0/0 -p udp # 이제 ipchains를 이용하여 사슬을 만
들어줍니다.(forward) /sbin/ipchains -P forward DENY /sbin/ipchains -A forward -s 192.168.1.0/24 -j MASQ
자..여기까지가 basic 룰입니다.다음은 rc.firewall에 실행 허가권을 줍니다. #/etc/rc.d/chmod 70
0 rc.firewall그리고 /etc/rc.d/rc.local의 제일 마지막부분에 ... 어쩌구... ... 저쩌구...
/etc/rc.d/rc.firewall이라고 마지막에 추가를 하면 됩니다.그리고 재부팅 .........5. 부팅후
확인작업들 /sbin/ifconfig eth0 --> 100.100.100.100 eth1 --> 192.168.1.1 /sbin/lsmod Mo
dule Size Used by ip_masq_irc 1392 0 ip_masq_vdo
live 1136 0 (unused) ip_masq_cuseeme 880 0 (unused) ip_masq_qu
ake 1156 0 (unused) ip_masq_raudio 2800 0 (unused) ip_masq_
ftp 2384 1 /sbin/ipchains -L (이건 DHCP를 쓴 경우입니다...)
Chain input (policy ACCEPT): target prot opt source destination
ports ACCEPT udp ------ anywhere anywhere bootps ->
bootpc Chain forward (policy DENY): target prot opt source
destination ports MASQ all ------ 192.168.1.0/24 anywhere
n/a Chain output (policy ACCEPT):6. client 세팅 (가장 중요한건 리눅스 박스의 192.168.1
.1이 gateway로) - LINUX /usr/bin/netcfg Hosts : 192.168.1.x Nameservers : (ISP 네임서
버 IP를 적으면 되겠지요) Routing : Default Gateway - 192.168.1.1 <---- 요기가 중요 - Window
s TCP/IP 등록정보란에서.. IP address IP: 192.168.1.x SubnetMask:255
.255.255.0 DNS Host : 자기컴퓨터이름 Domain: ISP의 도메인 DNS IP : ISP의 DNS
서버 주소 Domain suffix : ISP의 도메인 Gateway : 192.168.1.17. TEST - client1(192.168.1.2)
에서 로컬서브넷(192.168.1.x)의 다른 clients에 ping ex) ping 192.168.1.4 이게 안된다면 clien
t1과 로컬 네트워크를 점검해야 겠죠.. - client1(192.168.1.2)에서 Linux Box의 192.168.1.1(eth1)에 ping
ex) ping 192.168.1.1 이게 안된다면 Linux Box와 client1의 연결을 확인 - client1(192.168.1.2)
에서 Linux Box의 100.100.100.100(eth0)에 ping ex) ping 100.100.100.100 이게 안된다면 Linux Box의
세팅문제입니다. a. cat /proc/sys/net/ipv4/ip_forward --> 1이 나와야 겠죠. b. 커널옵
션에서의 IP: ICMP 에 Yes를 줬는지 확인.. c. 위에서 했던 rc.firewall에 대한 결과가 제대
로 나왔는지 확인.-----------------------------------------------------------에고...맞는지 모르겠네요.
쥐뿔도 모르면서 한건 아닌지 의심이 드는 한편 기쁘기도 하네요부디 내가 올린글들이 맞
기를 바라며, IP-MASQ를 쓰시려는 분들에게도움이 되기를 바랍니다. 틀린부분이 있으면 고쳐
주세요 ^^;주말입니다...모두들 즐거운 주말 되세요 ~~