아래 두줄이면 해결 됩니다.
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE
: 예전에 어디서인가 퍼온 글인데요. 전 아래대로 그대로 하니 잘 되더군요.
: 참고하세요.
: ##########
: 글쓴이 : 케빈
:
: 등록일 : 2001/11/11 [23:11] 조회 : 330
:
: 제 목 : (DHCP,고정IP 사용자용) 커널2.4.X에서 iptables로 IP-masq 구현하기
:
: === 커널 2.4.x에서 iptables로 ip-masq하기전 예비작업
:
: shell> ipchains -F
: shell> rmmod ipchains
: shell> ntsysv 를 한후에 ipchains 체크없애기
:
:
: ==== ipmasq 쉘 스크립트 소스파일 만들기 =====
:
: shell> touch /etc/rc.d/rc.firewall-2.4
: shell> chmod 755 /etc/rc.d/rc.firewall-2.4
:
: 다음으로 아래 소스내용을 rc.firewall-2.4에 복사해서 붙여넣기하면 됩니다.
:
: ------------ rc.firwall-2.4 소스내용 ------------------
:
: #!/bin/sh
: #
: # rc.firewall-2.4
: # 하나로,두루넷,드림라인,샤크로케이블모뎀 등의 DHCP 유동IP사용자를 위한 커널2.4.x에서
: ip-masq구현하기
:
: #iptables위치를 IPTABLES변수로 선언
: IPTABLES=/sbin/iptables
:
: # eth0은 외부이더넷, eth1은 내부이더넷
: # eth0을 EXTIF변수로 선언
: # eth1을 INTIF변수로 선언
: EXTIF="eth0"
: INTIF="eth1"
: echo " External Interface:$EXTIF"
: echo " Internal Interface:$INTIF"
:
: # iptables와 ftp사용을 위한 모듈올리기
: /sbin/insmod ip_tables
: /sbin/insmod ip_conntrack
: /sbin/insmod ip_conntrack_ftp
: /sbin/insmod iptable_nat
: /sbin/insmod ip_nat_ftp
:
: # ip_forward위한 커널매개변수변경
: echo "1" > /proc/sys/net/ipv4/ip_forward
:
: # SLIP, PPP, or DHCP의 유동IP를 위한 커널매개변수변경
: # 고정IP사용자는 필요없음
: echo "1" > /proc/sys/net/ipv4/ip_dynaddr
:
: # IP forwarding과 Masquerading 설정시작
: # 기존에 존재하는 rule을 지우고, 새로운 룰을 적용하기위한 정책설정
: $IPTABLES -P INPUT ACCEPT
: $IPTABLES -F INPUT
: $IPTABLES -P OUTPUT ACCEPT
: $IPTABLES -F OUTPUT
: $IPTABLES -P FORWARD DROP
: $IPTABLES -F FORWARD
: $IPTABLES -t nat -F
:
: # iptables rule정책설정
: $IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
: $IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
: $IPTABLES -A FORWARD -j LOG
:
: # ip-masq설정
: $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
:
: echo "행운이 있기를... "
:
: ########################
: 여기까지입니다.
:
:
:
:
: : IP머스커레이딩을 하여서,인터넷을 두 대 사용할려고 합니다. 일단 리눅스에 realtek 하고
: : 3com의 랜카드가 꽂혀있구요, 3com(eth0)에 하나로케이블로 연결되어있구요, REALTEKeth1)에 19
: : 2.168.0.1로 할당했습니다. 내부 윈도우2000컴은 192.168.0.2로 주었구요.
: : 그런데, 문제는 머스커레이딩을 하기 이전에 있습니다.
: : 리눅스를 부팅하면 eth0 ok eth1 ok 하고 잘 올라 오고요,
: : #ifconfig 하면
: : eth0 Link encap:Ethernet HWaddr 00:60:08:34:2B:2C
: : inet addr:211.176.209.200 Bcast:211.176.209.255 Mask:255.255.255.0
: : UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
: : RX packets:631 errors:0 dropped:0 overruns:0 frame:0
: : TX packets:301 errors:0 dropped:0 overruns:0 carrier:0
: : collisions:4 txqueuelen:100
: : Interrupt:9 Base address:0xe800
: :
: : eth1 Link encap:Ethernet HWaddr 00:C0:CA:30:27:D3
: : inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
: : UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
: : RX packets:257 errors:0 dropped:0 overruns:0 frame:0
: : TX packets:37 errors:0 dropped:0 overruns:0 carrier:0
: : collisions:0 txqueuelen:100
: : Interrupt:10 Base address:0x2000
: :
: : lo Link encap:Local Loopback
: : inet addr:127.0.0.1 Mask:255.0.0.0
: : UP LOOPBACK RUNNING MTU:16436 Metric:1
: : RX packets:16 errors:0 dropped:0 overruns:0 frame:0
: : TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
: : collisions:0 txqueuelen:0
: : 이렇게 됩니다. 잘 되었지요
: : 그런데 이 상태에서 ping yahoo.co.kr를 하면 안됩니다. 그래서 ifconfig eth1 down 하고 나서, 다
: : 시 ifconfig eht1 up 하고 ping yahoo.co.kr 하면 잘 됩니다.
: : 그리고 또 문제는 내부의 윈도우컴퓨터로 ping 192.168.0.2 하면
: : # ping 192.168.0.2
: : PING 192.168.0.2 (192.168.0.2) from 192.168.0.1 : 56(84) bytes of data.
: : From 192.168.0.1: Destination Host Unreachable
: : From 192.168.0.1: Destination Host Unreachable
: : From 192.168.0.1: Destination Host Unreachable
: : From 192.168.0.1: Destination Host Unreachable
: : 이렇게 되어버립니다. 물론 윈도우즈 컴에서도 안되구요.
: : 머스커레이딩을 설정해 봐야 머합니까, 내부랑 핑도 안 되는데...........
: : 리눅스 형님들 도와주세요......초짜 숨 넘어갑니다.
: : 참고로 원래 realtek을 두 개 꽂아쓰다, 두 개를 동시에 못 받길래, 3com으로 바꾸었습니다.
: : 그리고 마지막으로 윈도우컴의 랜카드에 초록 주황불 전부 들어옵니다.
: : --
: : choiseungwook--365일 즐거운 쇼핑 클릭 !!
http://www.365eclick.com 리눅스 자동차 커뮤니티
http://www.roogi.com