머스커레이딩에대한 질문입니다
이문제를 해결하게위해서 3주정도 시간이 흘렀고 많은 문서를 보았지만 해결이 안되어서 결국 이곳까지 오게되었습니다
저는 LUG회원입니다 결국 LUG고수님들을 못뵙고 지금이곳의 리눅서님들에게 도움을 청하고자 이렇게 글을씁니다
일단 스크립을 붙이겠습니다
#!/bin/sh
IT="/sbin/iptables"
OUTNET="219.x.x.158/24" (사정상이렇게씁니다)
OUTBCAST="219.x.x.159"
OUTDEV="eth1"
ANYADDR="0/0"
TCPIN="smtp,http"
TCPOUT="smtp,http,ftp,ftp-data,irc"
UDPIN="domain,pop3s"
UDPOUT="domain"
ICMPIN="0,3,11"
ICMPOUT="8,3,11"
start()
{
#로깅 : 방화벽에서 차단된 데이터그램의 로깅을 사용하려면 다음의 행의
# 주석처리를 삭제하면된다.
# LOGGING=1
$IT -F FORWARD
$IT -P FORWARD DROP
#$IT -A FORWARD -i $OUTDEV -j DROP (일단 지적해주신대로 ACCEPT으로 바꿀예정입니다) ACCEPT으로 했을때 다른문제점이 없는지 확인부탁드립니다)
#스머프 형식의 공격에 대비하기위해 브로드캐스트 주소로 ICMP를 보내게
#허용하지않는다..
$IT -A FORWARD -m icmp -p icmp -i $OUTDEV -j DROP
$IT -A FORWARD -f -j ACCEPT
$IT -A FORWARD -m multiport -p tcp -d $OUTNET --dports $TCPIN --tcp-flags SYN,ACK ACK -j ACCEPT
$IT -A FORWARD -m multiport -p tcp -s $OUTNET --sports $TCPOUT --tcp-flags SYN,ACK ACK -j ACCEPT
$IT -A FORWARD -m multiport -p tcp -i $OUTDEV -d $OUTNET --dports $TCPIN --syn -j ACCEPT
$IT -A FORWARD -m multiport -p tcp -i $OUTDEV -d $ANYADDR --dports $TCPOUT --syn -j ACCEPT
$IT -A FORWARD -m multiport -p udp -i $OUTDEV -d $OUTNET --dports $UDPIN -j ACCEPT
$IT -A FORWARD -m multiport -p udp -i $OUTDEV -d $ANYADDR --dports $UDPOUT -j ACCEPT
$IT -A FORWARD -m icmp -p icmp -i $OUTDEV -d $OUTNET -j ACCEPT
$IT -A FORWARD -m icmp -p icmp -i $OUTDEV -d $ANYADDR -j ACCEPT
$IT -t nat -P POSTROUTING DROP
$IT -t nat -A POSTROUTING -o eth1 -j MASQUERADE
}
stop()
{
$IT -F
$IT -X
}
restart()
{
stop
start
}
case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"##Usage:$0 {start|stop|restart}##"
;;
esac
exit $?
이건제가만든스크립이고 제가 문제를 해결하고자하는것은
결론적으로는 nat입니다 스크립이 잘못되었는지 알고싶은것도 있습니다
제 실력이 부족해서요 죄송합니다
이제 마지막으로 스크립은 실행이 잘됩니다 문제는
먼저 이더넷의 설정입니다
eth0 10.10.10.254 netmask 255.255.255.0
eth1 219.x.x.158 netmask 255.255.255.224
dns 168.126.63.1
route -N
tination Gateway Genmask Flags Metric Ref Use Iface
219.251.138.128 0.0.0.0 255.255.255.224 U 0 0 0 eth1
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 219.251.138.129 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 219.x.x.129 default router 라우팅설정은 219.x.x129로
모든ip가 가게만들어놨습니다
그럼 일단 방화벽내의설명입니다. echo "1" > ip_forward 로 forwarding
(좀 줄이겠습니다) 하게만들었습니다
그리고 10.10.10.x 의 아이피로 방화벽내에서는 ping이보내지고
219..x.x.x 대 의 아이피도 외부로 나갑니다
하지만 내부에있는 10.10.10.x ip가 방화벽 ip219.x.x.158 과 219.x.x.129 (라우터) 까지 가지못합니다
내부ip 10.10.10.x 클라이언트에서 갈수있는건 10.10.10.254까지입니다
하지만일단 밑에 답변을 달아주신님의 도움으로 막혀있던 -i $outdev를 주석처리하였습니다 지금은 219.251.138.x(방화벽까지는나갑니다)
하지만 라우터까지는 나가지않고있습니다
nat는 해결된건가요..?? 아님 nat가 아닌 라우팅테이블문제입니까.?
이유를 모르겠습니다 리눅서님들에게 절실하게 도움을 청합니다 ..그럼 언제나 어두운하늘이 되는사람이 되시길 ....
_________________
안녕하세요....
많은것을 배우고 나가겠습니다
어떤분이 고정ip일때는 snat 를쓰라고얘기를 하셨는데..??
snat를 어떻게 쓰는건지도 좀 부탁합니다...
머스커와 다른것인가요..?
구성도입니다 참고하십시오
-----------------------------
외부 네트워크
-----------------------------
|
------
디폴트 라우터: 219.x.x.129
------
|
|
| eth1: 219.x.x.158
----------------
NAT 게이트웨이 (Linux 머신)
----------------
| eth0: 10.10.10.254
|
------------------------------
내부 네트워크: 10.10.10.0/24
댓글 달기