컴퓨터공부/Linux & Unix

꺄... 마스커레이드 성공했다. ㅠㅠ

achivenKakao 2006. 8. 25. 06:07

꺄.. 마스커레이드 성공했다....

 

[ masquerade ] n, 가장 무도회, 가장, 구실 [ masquerade ]

                       v, 가장 무도를 하다, 가장하다, 체하다

기쁘다.. ㅠㅠ..

 

 

비록 KDLP에서 말하는 것을 그대로 따라했을지 몰라도.. =_=..

 

 

 

아래는 보고 따라한 글.. =_=


그밖에 참조:

http://wiki.kldp.org/wiki.php/LinuxdocSgml/IP-Masquerade-HOWTO

http://wiki.kldp.org/wiki.php/LinuxdocSgml/IP-Masquerade

http://wiki.kldp.org/wiki.php/DocbookSgml/Masquerading-Simple-HOWTO

 

iptable에 관한 문서..

http://kldp.org/Translations/html/Packet_Filtering-KLDP/Packet_Filtering-KLDP.html#toc7

 

 

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

 

마스커레이드 설정 좀 봐주세요~

레드헷9.0이고,
IPTABLES을 사용했습니다.

1.커널설정 :바꾼것은 없습니다.
2.마스커레이드 설정
일단 서버와 클라이언트를 크로스케이블로 연결했고요,
서버
eth0 IP: 163.152.x.x (고정), gateway,DNS 잡아주고
eth1 IP:192.168.50.1 Mask: 255.255.255.0

클라이언트(윈도우)
192.168.50.2
255.255.255.0
192.168.50.1
163.152.1.1(DNS)

이렇게 연결한후.... 서버측에 다음과 같이 설정했습니다.
#echo "1" > /proc/sys/net/ipv4/ip_forward
#iptables -A FORWARD -o eth0 -j ACCEPT
#iptables -A FORWARD -o eth1 -j ACCEPT
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

3.결과
서버측: 잘되요~ 웹페이지도 잘보이고 DNS도 되고...
클라이언트측 : 가고싶은 사이트를 ip로 직접가면 핑은 가는데 웹페이지도 못 가져오고, DNS도 먹통입니다.
원인이 무엇일까요? :lol:

Vote Result
----------
Score: 0.0, Votes: 0

ping 이 되는것을 보면 마스커레이딩은 제대로 된거 같고..

웹이 안된다면 서버쪽에 다른 방화벽 룰이 있는거 같습니다.

iptable -L 로 확인해 보세요..

볼줄을몰라서요....

#iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Lokkit-0-50-INPUT all -- anywhere anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Lokkit-0-50-INPUT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Lokkit-0-50-INPUT (2 references)
target prot opt source destination
ACCEPT udp -- kuccgx.korea.ac.kr anywhere udp spt:domain dpts:1025:65535
ACCEPT udp -- anywhere anywhere udp spts:bootps:bootpc dpts:bootps:bootpc
ACCEPT udp -- anywhere anywhere udp spts:bootps:bootpc dpts:bootps:bootpc
ACCEPT all -- anywhere anywhere
REJECT tcp -- anywhere anywhere tcp dpts:0:1023 flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:nfs flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT udp -- anywhere anywhere udp dpts:0:1023 reject-with icmp-port-unreachable
REJECT udp -- anywhere anywhere udp dpt:nfs reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpts:x11:6009 flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:xfs flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable

#iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
MASQUERADE all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

에효..해결했다 :)

B00m님의 말씀처럼 마스커레이딩은 문제가 없고,
서버측의 방화벽이 문제였습니다.
iptables -F 를 하니까 잘되는 군요...

요약
1.링크설정
서버 :
eth0 ip,mask,gateway,dns 설정
eth1 192.168.50.1,255.255.255.0
클라이언트
192.168.50.2,255.255.255.0,192.168.50.1로 설정
dns는 서버의 dns와 같게 설정했음.
ping 으로 연결 여부를 확인해 본다.
2.커널설정(레드헷9.0변경사항없음)
3. masquerade설정
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
부팅시 자동세팅하려면 /etc/rc.d/rc.local에 한줄을 추가합니다.
#vi /etc/rc.d/rc.local
추가 iptables -t nat -A POSTROUTING -o eth0 -j
4. iptables -F

/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

이렇게만 해도 잘 동작합니다.