NAT로 웹서버를 돌리고 있는데 웹에서 뭔가 작업을 하기만 하면 martian source가 나타납니다.
먼저 로그이구요.
martian source 192.168.3.2 from 192.168.3.2, on dev eth0
ll header: 00:c0:9f:1f:xx:xx:00:c0:26:80:xx:xx:08:00
웹서버 앞단에 있는 서버의 iptable 입니다.
iptables -t nat -A PREROUTING -p tcp -d 211.xxx.xxx.xxx --dport 80 -j DNAT --to 192.168.3.2
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.3.2 -j SNAT --to 211.xxx.xxx.xxx
그리고 라우팅 테이블 입니다. (211.xxx.xxx.xxx)
Destination Gateway Genmask Flags Metric Ref Use Iface
211.xxx.xxx.0 * 255.255.255.224 U 0 0 0 eth0
192.168.3.0 * 255.255.255.0 U 0 0 0 eth1
192.168.1.0 * 255.255.255.0 U 0 0 0 eth2
169.254.0.0 * 255.255.0.0 U 0 0 0 eth2
default 211.233.85.1 0.0.0.0 UG 0 0 0 eth0
웹서버 (192.168.3.2)
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.3.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.3.1 0.0.0.0 UG 0 0 0 eth0
별 문제가 제 눈에는 없는것 처럼 보입니다. --;
192.168.3.2 서버 쪽의 /etc/sysconfig/network 에서 gateway도 제대로 잡혀 있습니다.
ifcfg-eth0 도 괜찮아 보이구요.
DEVICE=eth0
BOOTPROTO=static
BROADCAST=192.168.3.255
HWADDR=00:C0:9F:1F:xx:xx
IPADDR=192.168.3.2
NETMASK=255.255.255.0
NETWORK=192.168.3.0
ONBOOT=yes
TYPE=Ethernet
211.xxx.xxx.xxx 서버 쪽도 마찬가지 입니다.
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.3.1
BROADCAST=192.168.3.255
NETMASK=255.255.255.0
NETWORK=192.168.3.0
HWADDR=00:C0:26:80:xx:xx
211.xxx.xxx.xxx 에서 기본 도메인 이름에 여러개 cname을 사용하여서 192.168.3.2에서 virtualhost로 사용하고 있는데요.
혹시 관련이 있을런지. 게다가 각 virtualhost마다 rewrite를 사용하고 있는데요. 여기서 뭔가 또 문제가 있을런지.
RewriteEngine On
RewriteRule ^/aaa$ http://aaa.domain.com
RewriteRule ^/bbb$ http://bbb.domain.com
...
요런식으로 말입니다.
그리고 나름대로 제일 의심가는 iptable rule이 문제가 아닌가 싶은데요. dnat와 snat를 저렇게 원래 사용을 하나요??
http://ydhoney.egloos.com/208
http://ydhoney.egloos.com/2082568
====================여기부터 식은어치====================
안녕하세요. 저는 야동 초등학교 2학년 6반 11번입니다!! 제 컴퓨터에 리눅스를 깔아보고 싶습니다. 리눅스라는건 어제 처음 들어 보았습니다.
리눅스에서도 카트라이더는 되겠지요? 설마 안되나요? 안되면 왜 쓰나요? =3=33 리눅스에서는 카트라이더 캐릭터 머리가 너무 커서 못받아들이나요?
전 일부러 sysctl에서 martian source 메세지를 켰는건데요.
전 일부러 sysctl에서 martian source 메세지를 켰는건데요.
패킷이 제대로 아무 이상없이 잘 돌아가는지를 알아 보기 위해서..
계속되는 2인자
SNAT은 끄셔도 될 것
SNAT은 끄셔도 될 것 같고요. 저 메시지는 소스ip도 192.168.3.2 이고 목적지ip도 192.168.3.2인 패킷이 들어왔다는 얘기에요. 물론 저 로그는 iptables돌리는데서 나온거겠죠?
tcpdump같은걸로 확인해보시면 더 좋겠네요. 웹서버에서 이상하게 뿌리는건 아닌지 등등.
그런데 DNAT이면 --to-destination, SNAT이면 --to-source 아니던가요? --to로만도 되던가..
언제나 삽질 - http://tisphie.net/typo/
프로그래밍 언어 개발 - http://langdev.net
그럼 SNAT를 끈다면..
예를 들어 SSH 서비스도 DNAT로 땡겨야 하나요?
물론 ssh뿐만 아니라 192.168.3.2 에서 사용하는 모든 포트들을 말이죠~
저는 일일이 DNAT로 적기 귀찮아서 나름 생각에 SNAT도 같이 적용한 것 입니다.
원래 DNAT는 DNAT만 SNAT는 SNAT 혹은 MASQUERADE 만 사용하나요???
계속되는 2인자
뭐 여차하면
뭔가 이상한 문제로 자기 패킷이 자기한테 되돌아오는 경우가 생기기도 합니다만..이건 뭐 잘 해주셔야 할 것 같고..
에헴;;
====================여기부터 식은어치====================
안녕하세요. 저는 야동 초등학교 2학년 6반 11번입니다!! 제 컴퓨터에 리눅스를 깔아보고 싶습니다. 리눅스라는건 어제 처음 들어 보았습니다.
리눅스에서도 카트라이더는 되겠지요? 설마 안되나요? 안되면 왜 쓰나요? =3=33 리눅스에서는 카트라이더 캐릭터 머리가 너무 커서 못받아들이나요?
댓글 달기