System Compleat.

'YZCerberos'에 해당되는 글 231건

  1. Somewhere but elsewhere. 2
  2. Bind9 for IPv6
  3. 어느덧 여름.
  4. ASP.NET State Service for session sharing 2
  5. 그대의 첫사랑은 기억속에 안녕하십니까?

Somewhere but elsewhere.

Stories

( younjin.jeong@gmail.com , 정윤진 )

그냥,  어딘가로 좀 쐈으면 좋겠다.
홍콩이나, 일본이나, 싱가폴 이라도.

뭔가 답답~  살짝 일탈이 필요 한 듯.



멍을 때리러 가도 좋고

인생 독고다이





사진을 찍으러 가도 좋고

250사로 보는 중






쓴 고독과 커피에 꽃힌 빨대를 함께 씹어도 좋으니

에이급 청승




어디론가 후울~쩍.



( younjin.jeong@gmail.com , 정윤진 )





Bind9 for IPv6

Techs
( younjin.jeong@gmail.com , 정윤진 )


오늘은 간만에 아주 쉬운 포스팅.

IPv6 에 대한 이슈는 뭐 워낙 오래된 것들이고, 2004년 이전 부터 마루타 되던 것들이기 때문에 디테일한 설명은 RFC문서를 참고 하도록 한다.

물론 nat66 ( IPv6-to-IPv6 ) 이라던가 하는 내용은 ietf 의 문서를 참고 한다. ( 다 떠넘김 ;;)
http://www.ietf.org/proceedings/74/slides/6ai-3.pdf


오늘의 주제는 말 그대로 IPv6 를 위한 bind9 ( named ) 설정 따라하기. 
( 컴파일 등은 과감히 생략.. 하기 위해서 배포본은 우분투를..;;  나이먹으니 귀찮귀찮... )

0.
    root@test:/# apt-get update

1. Bind 를 설치한다. 
   root@test:/# apt-get install bind9
   (패키지 의존성 검사 후 설치하겠냐고 물으면 Y 엔터 )

2. 설치가 종료 된 후 이미 친절하게 서비스를 돌리고 있는 우분투에게 감사하며, ps -ef | grep bind 정도로 확인해 준다.

3. named.conf  설정
   본 설정은 아주 단순히 zone 파일 대강 생성 및  AAAA 레코드 등록을 목적으로 하므로,
   기타 옵션에 대해서는 생략한다.

   root@test:/# vi /etc/bind/named.conf
   ..
   ....
   include "/etc/bind/named.conf.local"  # 요 앞쪽에 추가 하고자 하는 zone을 명시해 준다.  물론 뒤에 넣어도 무관계

   zone "myowndomainname.com" IN {
          type master;                              # slave 인 경우에는 slave 라고 써준다.
          file "/var/cache/bind/myowndomainname.com.zone" ;  # 디렉토리 위치는 배포판별로 약간씩 다르다. 주의.
   };
   ...
   ..

4. zone 파일 설정
   
   완전히 새로 쓰려면 웬지 노력이 많이 드니까 zone file의 내용에 대해 이해한다면 그냥 가져오자.
  
   root@test:/# cp /etc/bind/db.local /var/cache/bind/myowndomainname.com.zone  
   root@test:/# vi /var/cache/bind/myowndomainname.com.zone      # 우분투 9.04 디폴트 위치인듯.
   ....
   .. 수정 ..

   $TTL    604800
   @       IN      SOA     localhost. myowndomainname.com. (
                                   2         ; Serial
                           604800         ; Refresh
                            86400         ; Retry
                         2419200         ; Expire
                          604800 )       ; Negative Cache TTL
    ;
    @       IN      NS      localhost.
    @       IN      AAAA    2002:cbec:d22c:0:7cb3:13a3:a167:XXXX
    yourblog  IN      AAAA    2002:cbec:d22c:0:7cb3:13a3:a167:XXXX
    hungry     IN      AAAA    2002:cbec:d22c:0:4ce2:b2ff:fe2e:XXXX
    # 기타 필요한 레코드 추가


    요 단계는 꼭 해 주도록 하자.
    root@test:/# chown -R root:bind /var/cache/bind

5. zone file reload
   zone 파일이 무진장하게 많다면 당삼 /etc/init.d/bind9 restart 같은 짓은 하지 말자.  경우에 따라 2시간 이상 서비스 굿바이 당할 수도.
   상큼하게 reload 사용 해 준다.
   root@test:/# /etc/init.d/bind9 reload
    * Reloading domain name service... bind9
      ...done.

 6. 테스트.
   물론, 클라이언트와 방금 설정한 서버가 도달 가능한 IPv6 네트워크에 위치하고 있어야 함은 물론이다.
  
   root@test:/# ifconfig | egrep  inet6    

   위에서 얻은 주소로 클라이언트에서 테스트 한다.
  
   nslookup
   >server  2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX
   Default server: 2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX
   >hungry.myowndomainname.com
   Server:         2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX
   Address:        2002:cbec:d22c:0:3c23:f3ff:fe1b:XXXX#53

   hungry.myowndomainname.com        has AAAA address 2002:cbec:d22c:0:7cb3:13a3:a167h:XXXX
  
   # 만약 잘 안나온다면,
   >set type=AAAA 
   # 해서 결과를 보도록 하자.


현 시점에서 ( 2010.06.08 ) , AS 넘버를 가진 규모의 사업자가 아니라면 ipv6 를 공인망으로 사용하는 경우는 잘 없는 듯 하다.  비용도 워낙 비용이고.   하지만 소프트웨어 제작사의 경우 이러한 환경의 테스트를 거치지 않은 경우 문제가 될 수도 있지 않을까.

간단한 테스트를 위해서라도 bind 서버가 필요한 경우가 있다.  몇줄 바꿔주면 잘 동작하느니 만큼 편하게 사용하면 되시겠다.


담에는 IPv6 over IPv4 에 대해서 간단하게....   ( 언제나 기약없는 약속; )
급하신 분들은 요기 Cisco 를;

http://www.cisco.com/web/about/ac123/ac147/ac174/ac197/about_cisco_ipj_archive_article09186a00800c830a.html

( younjin.jeong@gmail.com , 정윤진 )


* 다 써놓고 보니 그냥 생각나는 대로 myowndomainname.com 을 썼는데, 이게 실제 있는 주소라는 ;;;
* 해당 도메인 제꺼 아님을 이자리에서 밝힘미당
  
  
  

어느덧 여름.

Stories
( younjin.jeong@gmail.com , 정윤진 )


이리 저리 갈대처럼 쓸려다니다가 뽑혀서 싸리 빗자루에 번들로 끼워져서 바닥을 쓸다 보니 어느덧 또 여름.
개구리 우는 소리 하나 없는 서울 송파의 사무실에서,

주인님 어지러워요



정신 사나운 사무실 책상 귀퉁이에 선풍기가 자리 잡았다.  ( 잘 보면 모닝케어도.. 쿨럭;; )



뒤돌아 보니 어느덧 환갑이더라는
어느 노인의 말 처럼

사무실 한 귀퉁이의 먼지 쌓인 선풍기가
여름이 왔음을 알려준다.

더운 동안 한참이고 혹사당하는 선풍기처럼
아무리 쌩쌩 돌아도 미지근한 건물 에어컨 처럼
그렇게 살고 있나 보다.

차라리 잠깐의 부채질이었다면
조금 더 시원했으려나.

힘들어야 조금 더 값진 것 같은 이치는
결국 사막의 오아시스 같은 것.

신기루 같은 환각,
내 처지 같은 선풍기를 끄고

퇴근한다.

그런, 2010년의 여름 시작



밤에 혼자 남은 사무실은 뭔가 야릇한 분위기를 자아낸다.
조용히 혼자 영화를 볼 수도,  나즈막한 음악과 함께 밀린 업무를 처리 할 수도 있는.

'회사'라는 공간에서 절대 가질 수 없을 것만 같은 "나 개인의 공간" 이 자연스럽게 만들어 진다.
그렇게 만들어진 뭔가 묵직한 공기의 책상에서, '장기하' 의 '싸구려 커피' 를 튼다.


고녀석 참 가격 이쁘다



변색된 슬라이드 필름속
20대를 펼쳐본다

내 얼굴은 없는 내 사진
나만의 기억을 부르는 내 사진

하지만 이제는 없는
사진 속 사람들

찌들어 그립지도 않은
다만 아련할 뿐 인

중년으로의 길목


날씨 좋았지, 그랬지.



무언가 가슴속에 바람이
웬지 허용 할 수 없을 것만 같은
하지만 정녕 기분 좋은 그런 바람이

살그머니 일렁인다.

갑자기 다리에 힘이 풀리는 가 하면
괜스레 멍해져 미소짓는

이 기분이 좋아.

고마워.


사케




사케의 달콤한 끝맛이 좋아.
천천히 오르는 알코올 기운도 좋아.

차게 먹는 사케는 상쾌한 맛을
데워 먹는 사케는 따스움이 전신에 고루 퍼지는 느낌을.

켄신 사부가 그런 말을 ,
"술은 언제 먹어도 맛있어야지. 술이 맛있지 않다면 마음 어딘가 병 들어 있는것이다."

내가 봤을때는,  켄신 사부가 니혼슈 ( 또는 사케 ) 를 먹어서 그런 소리 한거다.
소주 먹어 봐라.  ㅋ



가끔 된장짓




여름은 역시 달달하고 시원한 아이스커피 마시는 재미를 빼 놓을 수 없다.
닭장 같은 사무실에서 어찌 저찌 일하다가  마음 맞는 직원들과 즐기는 오후 즈음의 나지막한 티 타임은
꽤나 즐거운 시간.

여유의 중요성을 깨닫는 중.



몇 번의 주말과 하루,
은은하게 다시 퍼지는 삶의 향기가  몇년간 뚫려있던 무언가를
보이지 않게 막아 주는 느낌.

무엇이 어떻게 변하지 않아도 이대로도
이 느낌 만으로도

생긋한 요즘.



행복이나 슬픔 모두 한시적인 것을 알기에
그동안 힘들었던 만큼 한번의 부채질이 더욱 시원함을 알기에
어째 또 내가 몇년 살았나 보다 싶다.


( younjin.jeong@gmail.com , 정윤진 )

ASP.NET State Service for session sharing

Techs
( younjin.jeong@gmail.com , 정윤진 )


오늘은 세션 공유에 대한 이야기.

윈도우 웹 서버에서 세션을 공유하는 방법은 일전에도 소개 한 바와같이 2가지란다. ( InProcess 의 경우 시스템 하는 사람 기준에는 '공유' 의 방법으로 보이지 않아서 제외 )

하나는 ASP.NET 의 State Service 를 사용하는 방법, 다른 하나는 MSSQL DB를 사용하는 방법.

이 중 두번째 방법은 그냥 그 개념을 생각만 해도 세션 전용의 디비를 두어야 하나 싶을 정도로 고민스러운 방법이라 패스. ( 그 수많은 요청에 의한 세션 정보 열람을 위해 디비에 접근하는 웹서버를 상상해 보시라! )

뭐 아시는 분들은 다 아실만한 이야기 들이지만, 이번에 어찌저찌 하다 보니 보게되어 소개 한다.

웹 서버의 로드밸런싱을 처리하다 보면 세션 공유의 필요성이 발생하게 되는데, 유닉스/리눅스 기반에서는 jsp 라면 웹로직이나 기타 WAS 의 도움을 받는 경우가 대부분이고, php 등은 memcached 를 사용하거나 NFS(?) 를 사용하는 등의 방법이 많다.  여기에 고객의 수가 증가하게 되면서 보다 안정적인 서비스로 가기위해서는 이 세션 공유 서버에 대한 복제 등이 지원이 되어야 하는데, asp state service 는 여기까지는 지원을 하지 않는 듯 하다.

대략적인  IIS 의 Session State 의 동작에 대한 다이어그램은 다음과 같다.



대체 Session State 라는게 뭐냐? 라는 점이 궁금하신 분은,  닷넷 개발자면 아주 잘 아는 내용을 억지로 시스템하는 사람이 번역한 아래의 내용을 참조 하시면 되겠다.  물론, 충분한 이해를 바탕으로 한 것이 아니기 때문에 뭔가 알맹이-껍데기 스러운 번역이기에 괜히 머리 복잡해 지기 싫으신 분은 안펼쳐도 무방하겠다.  lol (나중에 현희형이 감수 및 이해를 도와주면 보다 윤기가 흐르는 번역이 될지도... 퍽!!@!! )




아무튼, 본 서비스를 사용하여 윈도우 서버의 세션 공유는 다음의 순서로 적용할 수 있다. ( Windows 2008 서버 이상 기준 )

1. 서비스 설치
  서비스의 설치는, 다른 윈도우 구성요소와 마찬가지로 윈도우 Feature 추가에서 쉽게 찾을 수 있다.

2. 서비스의 구동.
  서비스를 구동하고 netstat -na 를 통해 바인딩 된 포트 및 주소를 확인 해 보면,
  127.0.0.1:42424 
  로 리스닝 하는 것을 볼 수 있다.

  당연히 많은 서버의 로드 밸런싱에 사용 할 것이므로, 로컬 호스트 리스닝은 의미 없다.  다음의 레지스트리를 수정하여
  바인딩 되는 주소를 변경하도록 한다.
 
  HKML\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnections
  의 값을 0에서 1로 변경하고 서비스를 재시작 후, netstat -na 를 다시 찍어 보면
  0.0.0.0:42424
  를 확인 가능하다.

  물론, 이때 외부에서 해당 포트로 접근을 시도하면 당삼 안된다.  윈도우 방화벽의 Inbound 에 해당 포트 규칙을
  추가하자.  이후 타 서버에서 정상적으로 접근이 가능하다면, 설정 완료.

  + 다음의 설정 값을 통해 포트도 변경이 가능하다.
  HKML\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\Port

ASP.NET State Service Parameters

  

3. 웹 서버들이 state 서버를 사용하도록 설정 ( web.config )

<?xml  version="1.0"?>
<configuration>
    <system.web>
        <!-- ... -->
        <sessionState
             mode="StateServer"
             stateConnectionString="tcpip=SERVER_IP_ADDRESS:PORT"
             cookieless="false"
             timeout="20" />
        <!-- ... -->
    </system.web>
</configuration>


4. 윈도우에서 세션을 공유하기 위해서는 몇가지 주의 해야 할 사항이 있다.
  a. ASP.NET 의 <machineKey> 설정이 로드밸런싱 되는 모든 웹 서버에서 동일해야 한다. 
      <machineKey> 에 대한 자세한 설정은 다음의 링크를 참조 한다.
       http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
  b. 운용 중 웹 팜에서 세션 상태가 손실 되는 경우.
      - IIS 의 메타베이스 에서 응용프로그램의 경로가 모두 동일해야  함.  ( IIS 메타베이스의 확인 및 수정 방법 클릭 )
      - IIS 의 메타베이스 백업 및 복구 방법


방법이 약간 복잡하거나, IIS 로 서비스 하는 경우 보통 Stand Alone 서버의 소규모 사업장이 많지만, 이러한 .NET 기반의 서비스가 확장 되는 경우에 대비하여 간단한 테스트를 통해 사전에 확장 가능한 방법에 대한 고려가 필요하겠다.

보다 대규모가 되는 경우, DFS 등에 대한 고려 역시 따라야 할 것.



본 포스팅을 위해 참조된 링크.

http://msdn.microsoft.com/en-us/library/aa479041.aspx#aspnetsessionstate_topic2
http://blog.maartenballiauw.be/post/2007/11/ASPNET-load-balancing-and-ASPNET-state-server-(aspnet_state).aspx
http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx
http://support.microsoft.com/kb/325056
http://support.microsoft.com/kb/240225/
http://support.microsoft.com/kb/302573/
http://msdn.microsoft.com/en-us/library/aa227609(VS.60).aspx


( younjin.jeong@gmail.com , 정윤진 )

그대의 첫사랑은 기억속에 안녕하십니까?

Stories

( younjin.jeong@gmail.com , 정윤진 )


첫사랑이죠



일본의 조그마한 호텔방 안에 편의점에서 사온 돈까스 도시락과 노트북을 책상에 펴 두고 입에 밥알 반 돈까스 반을 우물 거리던 중  Youtube 로 보고 있던, 일전에도 포스팅 했던 어느 예능의 '어부바' 에피소드에 BGM으로 깔렸던 그 노래.
입안에 음식을 가득 물고 우물 거리던 채로 노트북의 12인치 작은 화면과 찢어지는 듯한 스피커를 통해 나오는 노래에  눈물을 찔끔 쏟을 것 같았던,  그런 기억이 이 노래와의 첫 만남.

가수가 누군지도 몰랐고, 노래는 더더욱 몰랐지만 뭔가 슬펐던 그 음악.

굳이 찾아서 들어야겠다 라는 생각할 겨를도 없이 정신없는 2주일이 지나고 나서야 빗소리에 문득 기억이 나서 구글링.

노래를 처음부터 끝까지 가만히 들어 보면, 가사는 참 아름다우면서도 뭔가 꽁냥이질이 나올것만 같은 닭살 스러움이 있는, 즐거워 져야만 하는 노래 같지만 왜 나는 비행기 착륙할 때의 하강기류를 만나 위장이 턱으로 올라오는 듯한 느낌의 슬픔이 밀려오는지 모를 일이다.

가사를 주욱 적어 보자면,


첫사랑이죠 - 나윤권,아이유

어쩜 우리 어쩜 지금 어쩜 여기
둘이 됐을까요
흐르는 시간 별처럼 많은 사람 속에..

내 맘 가득 그대 소복소복 쌓여요
내 마음 속 내 눈 가득 온통 그대
소복소복 쌓여요
차가운 손끝까지 소리없이 따뜻해 지나봐..

말하지 않아도 우리 마주 본 두 눈에 가득 차 있죠
이젠 그대 아플 때 내가 이마 짚어줄 거예요
겁내지 말아요 우리 꿈처럼 설레는 첫사랑이죠
조심스럽게 또 하루하루 늘 차곡차곡 사랑할게요..

그댈 떠올리면 발그레해지는 맘
그대 얼굴 그 목소리 떠올리면 발그레해지는 맘
하얗게 얼어있던 추운 하루 녹아내리나봐..

보이지 않아도 우리 마주 쥔 두 손이 참 따뜻하죠
그대 잠 못 드는 밤 내가 두 볼 감싸줄 거예요
서로를 믿어요 우리 별처럼 반짝일 첫사랑이죠
두근거려도 또 한발 한발 좀 더 가까이..

반가운 첫눈처럼 나에게 온 그대와 첫 입맞춤을 하고파
들려요 그대 마음 세상엔 우리 둘 뿐 인가봐..

말하지 않아도 우리 마주 본 두 눈에 가득 차 있죠
이젠 그대 아플 때 내가 이마 짚어줄 거예요
겁내지 말아요 우리 꿈처럼 설레는 첫사랑이죠
조심스럽게 또 하루하루 늘 차곡차곡 사랑할게요
You`re my first love...


첫사랑이라는 머리털 나고 나와 다른 염색체를 지닌 사람에 빠져 한마디에 가슴아프고 손짓 하나에 기쁘게 되는 '타인으로 인한 한시적 조울중' 비슷한 열병이 바로 이 노래의 주제.

받아 줄런지 안받아 줄런지 모를 알쏭달쏭한 날들을 끙끙 앓으며 버티다 버티다 드디어 참을성의 한계로인해 용자가 되어 수줍고도 힘든 고백의 단계를 지나 서로가 가까워 지는 설레임에 대하여, 세상 사는 사람 누구라도 한번은 느꼈을 가슴 뛰는 그 감정과 상황에 대한 노래를 들으며 왜 가슴이 먹먹해 지는지  나름 짱구를 굴려 보았는데.

누구에게나 그 시작은 참 아름답고 순수하며 사심없이 그사람의 웃음을 위해 목숨이라도 던질 수 있다는, 이해 관계 따위는 이미 아스트랄한 세계로 던져 대뇌 피질의 모든 것이 상대방의 행동 하나 하나를 새기기 위해 생겨났다고 믿을 정도로 단지 "그대를 위해" 라는 혼자만의 대명제 안에서 무엇이라도 할 것만 같던 시간들. 

5년이 지나고, 10년이 지나고 나면 그런 시간의 끝자락 마저 아름답고 순수했다고 느낄 테지만, 두루마리 휴지 한덩이를 스텐드만 켜진 책상의 눈물을 지우느라 다 써버렸던 시간을 겪고 있는 와중에는 세상에 절망도 그런 절망이 없을테다.

그대들 그리도 가깝고 행복해 지고 있지만,  그래서 '뇌'의 모든 기능을 상대방에 대한 모든 것의 기억에 쏟아 붇지만
결국 그 모든것이 잊어야 할 기억이 되었을때 만큼 슬픈일이 있던가. 

반대로 상대방의 문자 한통에, 수화기 넘어 들리는 나직한 한마디에 세상을 얻은 것 같은 그런 기분 좋은 일이 살면서 또 있었던가.



원점으로 돌아가 그럼 왜 이 노래가 참 슬플까 하는데는, 뭐 나는 예술적 감각에 대해서는 이미 블로그 제목에서 부터 "저 그런사람 아닙니다" 라고 강하게 어필하고 있기 때문에, 철학적 용어 전혀 없는 완전 주관적인 이유를 들어 보자면

"다시는 돌아갈 수 없는 시간에 대한 짙고도 강한, 어찌할 수 없는 향수"

가 아닐까 싶다.

더 쉽게 말하면 "이제는 절대 그런 사랑은 할 수 없을 것 같아"   이런 뭔가 자괴적인 느낌?



나는 이제 '누군가에게' 뜨거웠던 적이 있었는 지를 고민하지 않으며,
다만 '무엇에' 뜨거워 져야 하는지를 생각하는 나이.

첫사랑이라는 나에게만은 소중했던 별들만큼 많은 사람들 속의 기억에서,
1곡 무한 반복으로 들으며 일을 하고 있는 현실이 애처로와 적어 본다.


이 모든 것은 그저,

"비와서 그래."


http://www.youtube.com/watch?v=aqRhvYIpkgU


( younjin.jeong@gmail.com , 정윤진 )