|
News,
Internal,
Projects,
Home Software, Support, Documentation |
On Tue, Jan 13, 2004 at 11:48:01PM +0900, 같은생각 wrote: > 안녕하세요. > 아직 메일링 리스트의 잉크도 안마른 초짜 입니다. > > 예전에 sun은 많이(통신 쪽으로 약 7년) 썼는데 > FreeBSD는 안정성과 성능, open source라는 세가지 장점이 있다고 해서 > 이제 막 공부를 시작했습니다. > > 회사에서 nat서버를 구축하려고 하는데 > > PC서버 2대에 FreeBSD 깔고 > 외부 접속 경로에 있는 중요한 역할 이므로, > > active standby (또는 active active) 이렇게 이중화 시켜서 > nat 서버 용도로 쓰려고 합니다. > active/active, active/standby를 고려한다면 외부의 router와 switch는 이중화 되어있나요? switch의 경우는 fault가 날 확률이 상대적으로 작지만 router 가 이중화 되어있지 않다면 이런 설정은 의미가 없습니다. active/active가 필요하면 L4 switch같은 외부 하드웨어의 도움을 받거나 pf(security/pf)의 load-balancing같은것을 이용해야 합니다. active/standby같으면 하려는 목적에 따라서 다음과 같은 방법이 가능합니다. 1. 별도의 script나 프로그램을 만들어서 heart beat정보를 주 고 받는 부분을 만들 수 있습니다. 2. VRRP나 CARP를 사용할 수 있습니다. 1의 경우 fail-over가 일어나면 현재의 NAT정보가 사라지지만 가장 간단한 방법입니다. 2의 VRRP의 경우 제대로 구현된 프로그램을 구하기 힘들고, Cisco와의 license문제가 있습니다. 이경우에도 standby시스템과 NAT정보의 sync가 필요합니다. CARP의 경우는 multicasting을 이용해서 NAT sync(방화벽 state 포함)를 수행하고 사용자가 보기에는 trasparent한 시스템이 항상 active한 상태로 보입니다. 물론 standby시스템은 하나이상 일 수 있습니다. CARP는 현재 OpenBSD에서 이용가능하고 FreeBSD 에서는 port된것(아직 완벽하지는 않습니다)을 이용할 수 있습니다. http://pf4freebsd.love2party.net/carp.html > > 근데 보니깐 FreeBSD는 NAT기능을 내장(?)하고 있더군요. > (너무 반가웠죠. 전 처음엔 제가 다 코딩 해야 되는줄 알고 있었거든요^^) > NAT는 간단해 보이지만 제대로 하려면 굉장히 복잡하고 어렵습니다. 프로그램에 따라서는 항상 특정 local port로만 bind하는 경우가 발생하는데 NAT를 담당하는 서버에서는 이런 접속도 허용해야 하기 때문에 임의의 포트를 할당할 수 없습니다. 게다가 원격지 시스템에서 NAT를 감지하는것을 무력화 시키기 위해서는 더 많은 고민을 해야 합니다. > 그래서 이중화 기능만 되면 별도의 개발(코딩) 과정 없이 > 바로 쓸 수 있을 것 같은데 > > 혹시 이중화 기능도 이미 제공하고 있나요? > FreeBSD에서는 아직까지 공식적으로 지원하는 기능은 없습니다. > 가능하다면 방법 좀 알려주세요. > > 방법을 설명하기 어려우시다면 > 볼 만한 자료라도 좀 추천 부탁드립니다. > > 참고로 기존에 방화벽 등에서 제공하는 nat 기능은, 회사 사정상 안되고 > 되도록이면 FreeBSD, 정~ 안되면 어쩔 수 없이 Linux로 개발해야 할 처지 입니다. > 어떤 사정인지는 모르겠지만 상용목적을 위해서라면 Linux 코드는 사용할 수 없습니다. FreeBSD에서 NAT는 ipfw/natd, ipf, pf(security/pf)에서 수행할 수 있습니다. 이중 natd(8)는 userland process이기 때문에 디버깅이 편리하지만 client가 많아지거나 접속수가 많아지면 성능상의 문제가 있습니다. ipf와 pf는 kernel에서 NAT를 수행합니다. 이중 pf는 CARP를 지원하기 때문에 방화벽 state와 NAT state sync가 가능하지만 FreeBSD에서는 아직 CARP가 없기 때문에 이부분은 아직 지원되지 않습니다. > > 이중화 관련된 소스 코드 자료의 정보도 대 환영입니다. > OpenBSD의 CARP는 다음을 참조하세요. http://www.openbsd.org/cgi-bin/cvsweb/src/sys/net/if_pfsync.c.diff?r1=1.7&r2=1.8&f=h http://kerneltrap.org/node/view/1021 > 도 와 주 세 요요요~~ ^^ > -- Pyun YongHyeon <http://www.kr.freebsd.org/~yongari> _______________________________________________ 한국 FreeBSD 사용자 그룹(KFUG) questions 메일링 리스트 questions at kr.FreeBSD.org http://www.kr.FreeBSD.org/mailman/listinfo/questions
|
Copyright © 1998-2005 Korea FreeBSD Users Group. All rights reserved. webmaster at kr.FreeBSD.org $Date: 2004/01/14 22:47:25 $ |
|