>> Edit article
이름
제목
패스워드
처음이군요..음...요며칠 IP-MASQ를 하면서 했던걸 적었습니다.HOWTO문서를 참고했습니다.일원짜리가 될지는 저도 모르겠습니다.물론 틀릴수도 있겠죠....^^;#######################################################IP-MASQ + IP-CHAINS 리눅스 박스를 gateway로 이용하여 공인 IP가 없는 클라이언트(windows) 를 인터넷에 연결시키기######################################################1. 가정 ** 랜카드 두장으로 하는 연결입니다. 모뎀은 아니구요 ** 공인 IP = 100.100.100.100 ( eth0 ) Subnet 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) LINUX 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 for 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 packet netlink device - Yes * IP: always defragment - Yes * IP: masquerading - Yes * IP: ICMP masquerading - Yes * IP: masquerading special modules supports - Yes * IP: ipautofw masq support (EXPERIMENTAL) - No (Not recommended) * IP: ipportfw masq support (EXPERIMENTAL) - Yes (이 옵션으로 MASQed된 내부의 WWW,SMTP서버에 access가능) * IP: ip fwmark masq-forwarding support (EXPERIMENTAL) - No (아직은 실험단계라 IPMASADM이라는 프로그램을 쓰라고하네요) * IP: optimize as router not host - Yes * IP: GRE tunnels over IP - No * IP: TCP syncookie support - Yes * Network device support - 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_quake /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 timeout /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 700 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 Module Size Used by ip_masq_irc 1392 0 ip_masq_vdolive 1136 0 (unused) ip_masq_cuseeme 880 0 (unused) ip_masq_quake 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 <---- 요기가 중요 - Windows 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 이게 안된다면 client1과 로컬 네트워크를 점검해야 겠죠.. - 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를 쓰시려는 분들에게도움이 되기를 바랍니다. 틀린부분이 있으면 고쳐주세요 ^^;주말입니다...모두들 즐거운 주말 되세요 ~~
Copyleft
1999-2026 by
JSBoard Open Project
Theme Designed by
IDOO
All right reserved