| [ CnUnix ] in KIDS 글 쓴 이(By): swhan (foo bar) 날 짜 (Date): 2002년 7월 9일 화요일 오후 03시 13분 04초 제 목(Title): Re: 이거 말이 될까요? 너무 복잡하군요. 흠흠.. 우짜뜬..한참 졸리고 일도 안되고 있었는데 장난감을 던져주시다니 감사합니다. :) 1. 아마 그 공유기 업체에서는 NAPT(NAT-PT)와 NAT를 동시에 구현하려고 하는 것으로 보이는데요.(정확히 NAT는 아니지만.. ^^) PCa는 공인 IP, PCb, PCc...등은 사설 IP를 이용한다고 할때.. PCb(사설 IP)가 외부로 접근하는 경우 NAPT를 이용해서 서비스를 하고.. (뭐라 부르는지는 모르겠지만) service list에 넣어 관리하도록 할꺼라 보여집니다.(NAPT의 구현상..) 만약 PCa가 서비스를 이용한다고 하면..NAPT의 service list에 넣어둘수도 있고 넣지 않을수도 있겠습니다.(넣지 않는편이 단순할 것 같은데..). 외부에서 공인 IP로 packet이 왔을 경우.. boxX는 service list를 뒤져보고 내용이 없으면 PCa로 그대로 던져주면 되겠네요. (NAPT구현에서는 그냥 drop해버리던가요? 아님 위쪽 계층으로 올릴수도 있겠군요. ) PCa에 대해서 boxX는 거의 filter를 가진 bridge가 되는군요. 여기서 몇가지.. - PCa의 Routing table. - boxX의 routing table과 같이 구성하면 정상적으로 보내지지는 않겠죠? netmask를 어떻게 주던..약간의 편법이 필요합니다. 최소한 boxX가 PCa의 arp request에 대한 응답을 잘 해줘야 하겠지요. - boxX가 PCa로 패킷을 던져줄때.. arp에 문제가 생기는군요. arp가 내부 if에 대해서만 bind되도록 하는 것도 쉽지 않을 것 같고.. 단지 mac address만 바꿔치고 그냥 내려보내는 방법을 고민하는게 낫지 싶네요. - 그러기 위해서는 PCa의 초기화시에 또는 boxX의 초기화시에 PCa의 MAC address를 알고 있어야 한다는 말이 됩니다. PCa가 DHCP를 이용하기 전부터 알고 있는게 맞겠군요. 커널쪽에 예외사항이 자꾸 생기는군요. 훔. PCa가 하나뿐이니 머리를 잘 굴리면 단순하고 쌈빡하게 해결이 될 것 같기도 한데.. - boxX(NAT장비)는 IP를 사설/공인 2개의 IP를 갖고 있어야 하는데.. dhcp쪽을 제외한 모든 부분에서.사설IP(내부if)쪽으로 오는 packet만을 상위 계층으로 올리도록 해야 할 것 같습니다. NAT장비의 web-management는 내부에서만 가능하게 된다는.. 2. X가 통신하는 서버의 의미가 DHCP서버인가요? 그렇다면 source addr A로부터의 패킷만 상위로 올리고나머지를 모두 PC에 전달하는건 '말이 되는 것'같습니다만.. 마지막으로 질문. PCa가 왜 공인 IP를 가져야 하죠? 그냥 사설 IP에 NAT장비가 대부분 port에 대한 fordwarding을 해주는거로 부족한가요? 어차피 공인 IP를 가지려고 하는 장비는 하나뿐인데 ALG를 일일이 만들 필요는 없지 싶어서요. @ 써넣고 보니 우째..원글하고 똑같은 얘기같은 느낌이 드는군요. |