최근에 친 사고들…

조금 덜 알아봤다가 금전적으로 이래저래 사고를 많이 치고 있다. -_-a

우선 서버! 유니와이드 다신 쳐다도 보지 않을거다. 지네 제품하고 관련된 부품인데 재고가 없덴다. 자기들도 부품을 구하려면 MSI에 RMA을 받아야하는데 가격이 상당할거라고 한다. 난 사실 어느정도 바가지 좀 씌워도 되니까 대신 RMA 받아 줬음 좋겠는데, 그냥 안된다고 딱 잘라서 거절한다.

비굴하게 MSI Global 홈페이지의 Online Customer Service 에 방열판을 구할 수 있을지 글을 남겼다. 얘네 답변이 빠르긴 한데 크게 도움은 안된다. 처음엔 MSI Korea에 연락하라는 답변이 달렸다. 혹시나 하는 마음에 MSI Korea에 연락해봤지만 없덴다. 유니와이드는 자기네랑 거래하는게 아니라 본사랑 거래하고 있을거라며 자기들은 쏙 빠져나간다.

다시 Online Customer Service에 글을 남겼다. 한국 본사는 재고 없다고, 조금 비싸도 되니까 해외에서 주문하고 싶은데 어떻게 방법이 없겠냐고! 답변이 달렸는데 자기네 영업 담당이라며 이메일 주소를 하나 남겨줬다. 귀찮게 해서 미안하지만 여기다가 연락하랜다.

귀찮아도 난 이메일을 보냈다! 못 구하면 손해가 이만저만이 아니고 지금까지 받은 정신적 데미지도 만만치 않으니까! 그런데 대답이 없다. 이메일을 보낸지 아직 7시간 밖에 안됐지만 기분 별로다.

별로 유명하지 않아서인지 단품으로 부품 구하기 정말 어렵다. 아예 비슷한 서버 하나 더 사서 방열판만 빼고 버리는 것도 생각해봤는데, 얘네 브랜드 제품을 중고로 구하기도 쉽지 않다. 용산 돌아봐도 이 방열판을 구하는게 쉽진 않을 거 같지만 도전은 해봐야지…

부품 구하는 거 실패하면 질렀던 cpu랑 본체랑은 되팔 생각인데, 쉽게 팔릴 지도 의문이고, 최소 십만원 이상은 손해볼 거 같다.

이걸로 끝이었음 그나마 개운했을텐데, 오늘 중국에서 온 석사 신입생을 교육하려고 프레젠테이션 준비를 하다가 드디어 알아버렸다. 유니바디 맥북에는 mini dvi가 아니라 mini display 포트가 있다는 사실을!!! 그나마 다행일지도 모르겠다. 발표하려고 미국 갔을 때 알았음 얼마나 당황했겠어…

뭐 어쨌든 덕분에 얼마 전 질러준 mini dvi to vga 케이블은 쓰레기가 되버렸다.

문제는 오늘 신입생 과제 설명을 시작으로 담주 MPEG 오디오 표준 발표 (멀티미디어 부호화 특론), 다다음주 Multi-directional Demosaicing 발표 (CSIE 09), 그 다음주 컨퍼런스 리포트 (연구실 세미나), 그 다음 주 Entropy Coding 관련 발표 (멀티미디어 부호화 특론), 연구실 세미나 내 차례, Computer Vision 수업 발표 등 프레젠테이션 일정이 빡빡하게 잡혀있다는 사실…

mini-dvi to vga 케이블이랑 프레젠터랑 다 유용하게 잘 쓰겠구나 싶었는데 망치로 뒷통수를 후려맞은 기분이다. 여기서 또 금전적 손해 4만원… mini-dvi to vga Adaptor, mini-display to vga Adaptor… 사실 order status를 확인해보고, ‘얘네가 잘못 배송해준거였군!’ 항의 전화나 한 방 때려야겠다! 싶었는데, 자세히 보니 mini-dvi 와 mini-display의 차이였다. 이걸 누가 알아보냐고!!!!!!!!!!!!!!!!!!!!

그나저나 같이 번역한 다른 분들은 벌써 책을 받아서 다 나눠줬다는데, 난 아직 구경도 못해봤고 그나마 늦을 거 같다는 연락도 없다. 난 완전 뒷전인 거 같아서 서운하고, 또 일도 막 말리는 거 같아서 진짜 울고 싶다. ㅠ.ㅠ

으아악!!!!! 짜증 와방이다!!!!!!!!!!!!!!!!!!!!!!!!

Unfix 새 서버…

새 서버를 받아왔습니다. 그런데 판매자 분이 얘기하신 것(2core Xeon 2.8Ghz)과 달리 Hyper-threading enabled Xeon 2.8Ghz 하나만 딸랑 꼽혀있네요. 뭐 사실 그래도 SCSI Type의 서버 치고 충분히 싼 것 같기는 해서 그냥 쓸라구요. 지금 옆에서 비행기 엔진 소리를 내며 memtest86을 수행하고 있는 중입니다.1시간 좀 넘게 돌린거 같은데, 10번의 테스트 동안 아무 에러도 발생시키지 않았습니다.)

예전 서버 때는 Pentium3 1.26Ghz * 2 + 512MB + 18GB * 2 짜리 삼성 서버가 60만원 정도였고, 메모리 1기가 추가에 36GB 짜리 하드를 하나 추가해서 총 100만원이 조금 넘는 돈을 들였었는데, 요번에도 맥시멈으로 그정도까지는 업그레이드를 진행할 생각입니다. 사실 그 때 그 돈 들여서 3년 넘게 잘 쓰고 있으니 그리 아깝진 않네요. (중간에 30만원 정도 더 들여서 72GB짜리 하드를 하나 추가하긴 했습니다.)

Continue reading Unfix 새 서버…

오늘은 새 서버 사러 가는 날~

원래는 IBM x3550 정도로 질러주고 싶었지만 환율 문제로 가격이 폭등해버렸습니다. unfix 사용자들도 어느정도 늘었고 각 사용자들의 로드가 만만치 않다보니 서버를 업그레이드해야하지 않을까 하는 걱정은 하고 있었는데, 마침 kldp만만한 매물이 올라왔네요.

2-way xeon인지 1-way dual core xeon인지는 잘 모르겠지만 어쨌든 2-way pentium3-1.26 조합보다는 좋을 것 같고, SCSI hotswap bay가 셋인 걸 보니 예전 서버에서 사용하던 SCSI 디스크들을 그대로 활용할 수 있다는 점이 큰 장점으로 보입니다.

사실 예전 서버의 경우 CPU가 느린 것도 문제지만 메모리가 조금 부족한 느낌이 들었는데, ECC/REG type의 SDRAM은 구하기가 너무 힘들더라구요. 1GB DDR2 PC3200 ECC/REG for low profile이 약 6.2만원 정도니까 새 서버에는 메모리를 4.5GB 정도 추가로 설치할 생각이에요.

아뵤~! 요번 주말도 심심하진 않을 듯…

요 며칠 삽질기 -_-! with Exim

어째 요새 관리해야할 서버가 늘어버렸네요. (전 언픽스 하나로 족한데 ㅠ.ㅠ) 하여튼!! 요 며칠 사이 gentoo + exim + procmail + spf + srs + clamav + bogofilter + dovecot 를 시도해봤습니다.

사실 계속 제가 맡아서 할 게 아니라 길어야 일 년 정도 만져줄 서버기 때문에 젠투가 아닌 다른 배포판을 생각했었는데, spf 와 srs 를 지원할 수 있도록 하면서 기본으로 제공되는 패키지를 이용할 수 있는 조합이 몇 가지 되질 않더군요. exim 에서 spf 와 srs 는 experimental 로 되어 있기 때문에 바이너리 배포판에선 기본으로 적용이 되어 있질 않고, postfix + milter 조합에서는 srs 를 제공할 수 없기 때문에 남은 선택은 sendmail + milter 조합 밖에 없는데 sendmail 을 사용하기는 싫었거든요.

하여튼! exim 에 procmail 을 붙이는 방법은 아래와 같습니다.

procmail: driver = accept transport = procmail domains = +local_domains check_local_user # emulate OR with "if exists"-expansion require_files = /usr/bin/procmail no_verify no_expn

router 파트의 localuser: 룰 앞에 위와 같은 코드를 추가하고

procmail: driver = pipe path = "/bin:/usr/bin:/usr/local/bin" command = "/usr/bin/procmail" return_path_add delivery_date_add envelope_to_add

transpotes 에 router 에서 정의한 procmail transpote 를 정의해 주면 되죠. procmail 을 이용한 스팸 필터야 예전부터 잘 사용해오던 게 있으니 그걸 사용하면 됐구요.

그 다음은 smtp 설정!! 기본으로 /etc/exim/auth_conf.sub 란 파일이 있길래 그냥 자동으로 smtp 인증 설정이 되어있는줄 알았는데 smtp 인증을 사용하려면 저 안에 있는 내용을 /etc/exim/exim.conf 에 추가해줘야합니다.

plain: driver = plaintext public_name = PLAIN server_condition = "${if pam{$2:$3}{1}{0}}"   login: driver = plaintext public_name = LOGIN server_prompts = "Username:: : Password::" server_condition = "${if pam{$1:${sg{$2}{:}{::}}}{1}{0}}"

그 내용은 위와 같았구요. 하지만 여기서 또 문제가 발생! 예전 시스템이 오래 전에 설치된 것이었는지 비밀번호 암호화를 md5 로 사용하질 않고 있었는데, /etc/pam.d/system-auth 에서 md5 를 제거함으로써 다른 데몬들에선 문제가 해결됐지만 exim 의 stmp 에서만 인증 실패가 나오는겁니다. -_-!

참고로 smtp auth 가 어떤 과정으로 이뤄지는지는 아래 인용된 내용을 참고하세요. 테스트할 때 알아두면 편합니다.

$ telnet localhost 25
EHLO localhost
AUTH LOGIN
base64로인코딩한아이디
base64로인코딩한비밀번호

여담이지만 smtps 나 pop3, imaps 를 꼭 사용하세요. 위에서 처럼 비밀번호가 그냥 넘어갑니다. 패킷이 악의적인 라우터를 지날 경우 아이디/비밀번호가 줄줄 셀 수 있습니다.

하여튼 비굴하게 saslauthd 를 사용해서 우회시켜봤지만 요놈도 마찬가지로 인증 실패 -_-! 아예 다 안되면 모르겠는데 우리 사랑스런 dovecot 은 로그인이 아주! 잘 됩니다. exim 만 나쁜 놈이란 거죠.

saslauthd 라거나 pwcheck 같이 다른 곳에서 잘 사용도 안되는 데몬을 띄우는 게 좀 꺼림찍했는데 잘됐다 싶어서 dovecot-auth 를 활용해봤습니다. dovecot-auth 를 활용하려면 아래와 같이 dovecot.conf 파일을 수정해줘야 합니다.

auth default { mechanisms = plain login passdb pam { args = "*" } userdb passwd { } user = root   socket listen { client { path = /var/run/dovecot/auth-client mode = 0666 } } }

그리고 위에 써있는 auth-client 소켓을 이용해서 로그인하도록 exim.conf 를 고쳐줍시다.

login: driver = dovecot public_name = LOGIN server_socket = /var/run/dovecot/auth-client

이제 끝!! 드디어 smtp 인증이 정상적으로 되기 시작합니다. 휴;;

뭐 대강 다 됐는데, 한 가지 아쉬운 점이라면 .forward 나 alias 를 이용할 경우 procmail 을 거치지 않기 떄문에 스팸 필터링이 안되는 것 정도? 이건 어떻게 해야할 지 별로 답이 안나오네요.

그렇다고 bogofilter, clamav 등이 다 procmail 에서 호출되는데 이걸 spamassassin + clamd 조합으로 새로 설정하긴 완전 귀찮고 (사실 어떻게 하는지도 모르고) 약간 쀍입니다.

그 외에 mailman 과 관련된 삽질이 조금 더 있었고, seliunx 가 적용되어 있는 CentOS 랑 관련된 것도 있었는데 또 언제 시간날 때 관련된 것들을 포스팅해봐야겠습니다.

사실 요새 포스팅 하고 싶은 내용은 많은데 내용이 길어져서 귀차니즘이 발동해버렸네요.