>> Read No. 2221 article  
초보가 해본 LVS 터널링...^^

등록 2002-02-15 01:23:00     조회 4
이름 조경희    

		<pre>
메일 주시면 혹시나 제가 알고 있는 내용이면 답글해드께요..emoticon
제가 설정해본 LVS입니다.
100% 정확하진 모르겠어요..정말 1원짜리 TIP같네요..emoticon
또한 내용이 틀릴수도 있으니 양해 바랍니다. 저도 초보라...emoticon)/
주 LVS서버는 대전에 있는 IT회사 내부 서버를 사용했으며, REAL서버는 IDC센터에 있는 Linux서
버를 사용함. 주 LVS서버에 커널 버전은 [2.4.7-10 #1](REDHAT)이였으며, 커널컴파일을 하지 않았
습니다. 사용한 커널안에 이미 ipip와 ipvs에 대한 모듈이 있어 재 컴파일에 필요성을 느끼지
 못했습니다. 주로 참고한 문서는 KLDP-LVS문서 이재현님이 올려주신 LVS 구축기(CLUSTERKOREA)를 
보고 성공 했습니다. REAL서버에 커널버전은 각각 [2.4.2-2 #1](REDHAT)와 [2.4.2-2wl](WOWLINUX)였습니
다. 아이피 터널링 방식은 패킷에 흐름만 바꾸어 주는 형태로 이해하고 작업.
흐름을 조정해 주는 도구가 IPVSADM이구요 IPVSADM은 커널에 패치를 적용한 다음 IPVSADM만 바이
너리로 만듭니다. 커널패치에 대한부분은 이재현님이 올린 자료를 보시면 알수 있습니다.
컴파일이 끝난후 전 새로운 이미지를 올리지 않고 이미 깔려있는 커널 그대로 사용했습니
다. 간단하게 스토리를 엮어보면 이렇습니다.
 --->(internet)--->(LVS SERVER)--->(LVS IP) ----> 대전에 LVS서버
                                      (IPVSADM)---->  1차 부하분산 서버(서울)
                                      (IPVSADM)---->  2차 부하분산 서버(서울)
 - 이곳에서 기술한 아이피는 모두 가상입니다.
 1. 커널을 받아서 설치함. (ftp://linux.sarang.net) 2. 받은 커널에 IPVSADM에 패치를 적용한다음 커
널컴파일.          cd /usr/src/linux 
        cat /lvs/linux_kernel_ksyms_c.diff | patch -p1
        cat /lvs/linux_net_Makefile.diff | patch -p1
        cat /lvs/linux_net_ipv4_Config_in.diff | patch -p1
        cat /lvs/linux_ip_fw_compat_c.diff | patch -p1
        cp -rp /lvs/ipvs net/ipv4
        mv net/ipv4/ipvs/linux_net_ipv4_ipvs_Makefile net/ipv4/ipvs/Makefile
        make menuconfig
  3. 컴파일한 커널 /usr/src/linux/net/ipv4/ipvs/ipvsadm이안에 있는 IPVSADM(make)만 뽑아서 SBIN으로 복
사 했습니다. 4. 이미 사용하고 있는 커널에 모듈을 올림.
   - insmod ipvs
   - insmod ipvs스케줄링 (IPVSADM에서 직접 기술해도 모듈은 올라갑니다. 만약 그렇지 않으면 
구축 불가능할꺼예요..)  5. IP셋팅.
   - LVS로드발란스 서버
   - ifconfig eth0 xxx.180.yyy.1 netmask 255.255.255.0 broadcast xxx.180.yyy.255 up
   - route add -net xxx.180.yyy.0 netmask 255.255.255.0 dev eth0
   - ifconfig eth0:0 xxx.180.yyy.2 netmask 255.255.255.0 broadcast xxx.180.yyy.2 up
   - route add -host xxx.180.yyy.2 dev eth0:0
   - echo 1 > /proc/sys/net/ip_forward
    - LVS REAL 서버
   - ifconfig tunl0 xxx.180.yyy.2 netmask 255.255.255.255 broadcast xxx.180.yyy.2 up 1차
   - ifconfig tunl0 xxx.180.yyy.2 netmask 255.255.255.255 broadcast xxx.180.yyy.2 up 2차
 7. IPVSADM셋팅.
   - ipvsadm  -A -t xxx.180.yyy.2:80 -s rr
   - ipvsadm -a -t xxx.180.yyy.2:80 -r xxx.239.xxx.100 -i
   - ipvsadm -a -t xxx.180.yyy.2:80 -r xxx.53.129.107 -i
   - ipvsadm -a -t xxx.180.yyy.2:80 -r xxx.239.xxx.200 -i
 8. 셋팅 확인.(스케줄링과 포트 그리고 주소가 정확한지 확인 하세요)
   - IP Virtual Server version 0.8.1 (size=65536)                 
   - Prot LocalAddress:Port Scheduler Flags                       
   -   -> RemoteAddress:Port            Forward Weight ActiveConn InActConn
   - TCP  xxx.180.yyy.2:http rr
   -   -> xxx.239.121.200:http           Tunnel  1      0          0       
   -   -> 218.53.129.107:http            Tunnel  1      0          0       
   -   -> xxx.239.121.100:http           Tunnel  1      0          0   
 9. 네임 서버에서 xxx.180.yyy.1에 해당하는 www도메인을 만들어 준후 www.domain.com과 같이 아이
피접속. 0. netstat -an이나 ipvsadm -Lcn으로 접속에 대한 상세한 부분을 확인해보세요.
 tunl0에 리소스를 사용할려면 Redhat 7.1이상에 LVS모듈이 올라간 커널에 ipip.o모듈을 올린다.
(ifconfig tunl0 LVS_IP(구축시 사용한 아이피) netmask 255.255.255.255 broadcast LVS_IP up)
      
 네임서버에서 처리하는 방법.(서버에 효율은 모르겠어요. 로드를 할수 없으니...emoticon)
www            180     IN      A       xxx.239.121.1
               180     IN      A       xxx.239.121.2
               180     IN      A       xxx.239.121.3
    LVS server route infomation
route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
xxx.180.yyy.2  *               255.255.255.255 UH    0      0        0 eth0
xxx.180.yyy.0   *               255.255.255.0   U     0      0        0 eth0
127.emoticon.0       *               255.emoticon.0       U     0      0        0 lo
default         xxx.180.yyy.xxx  emoticon.0.0         UG    0      0        0 eth0
 route add -host xxx.180.yyy.2 dev eth0:0
echo 1 > /proc/sys/net/ip_forward
 Realserver route information
route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
xxx.239.yyy.1 *               255.255.255.128 U     0      0        0 eth0
127.emoticon.0       *               255.emoticon.0       U     0      0        0 lo
default         xxx.239.yyy.1 emoticon.0.0         UG    0      0        0 eth0
  LVS server ipvsadm infomation
ipvsadm setting
ipvsadm  -A -t xxx.180.yyy.2:80 -s rr(라운드로빈방식) (DNS에 미러링 스케줄링)
ipvsadm -a -t xxx.180.yyy.2:80 -r xxx.239.121.100 -i
ipvsadm -a -t xxx.180.yyy.2:80 -r 218.53.129.107 -i
ipvsadm -a -t xxx.180.yyy.2:80 -r xxx.239.121.200 -i
 ipvsadm
IP Virtual Server version 0.8.1 (size=65536)     -> 이 싸이즈에 대해서 아시는분 댓글좀 달아 주세요
 emoticon              Prot LocalAddress:Port Scheduler Flags                       
  -> RemoteAddress:Port            Forward Weight ActiveConn InActConn
TCP  xxx.180.yyy.2:http rr
  -> xxx.239.121.200:http           Tunnel  1      0          0       
  -> 218.53.129.107:http            Tunnel  1      0          0       
  -> xxx.239.121.100:http           Tunnel  1      0          0       
 ipvsadm -Lcn(현재상항)
IPVS connection entries
pro expire   state       source            virtual           destination     
TCP 01:41.38 FIN_WAIT    xxx.239.yyy.160:38478 xxx.180.yyy.2:80 xxx.239.yyy.100:80
TCP 01:44.31 FIN_WAIT    xxx.239.yyy.160:38479 xxx.180.yyy.2:80 xxx.239.yyy.200:80
TCP 01:38.46 FIN_WAIT    xxx.239.yyy.160:38477 xxx.180.yyy.2:80 xxx.53.yyy.107:80
 Real server tunl0 setting(터널링아이피셋팅)
ifconfig tunl0 xxx.180.yyy.2 netmask 255.255.255.255 broadcast xxx.180.yyy.2 up 1차
ifconfig tunl0 xxx.180.yyy.2 netmask 255.255.255.255 broadcast xxx.180.yyy.2 up 2차
ifconfig tunl0 xxx.180.yyy.2 netmask 255.255.255.255 broadcast xxx.180.yyy.2 up 3차
 tunl0     Link encap:IPIP Tunnel  HWaddr 
          inet addr:xxx.180.yyy.200  Mask:255.255.255.255
          UP RUNNING NOARP  MTU:1480  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
  테스트
저는 다른 지역에 리눅스서버에서 Lynx로 테스트.
lynx xxx.180.yyy.? 가상 아이피 했을경우 각각 터널링을 통해 다른 페이지를 관람할수 있으면 
성공이다.  모든 여러분이 성공 하시길.......emoticon
해보니까 별건 아닌거 같애염...개념이 무척 어려웠쑴다..emoticon
그럼..
 sysop at netizen.ne.kr 조경희
</pre>
이름
암호
  목록보기 윗글 아랫글
글쓰기
답장쓰기 수정 삭제
정규표현식 [ 상세 검색 ]
페이지로딩: [ 0.66 초 ] 작업시간: [ 0.08 초 ]

Copyleft 1999-2026 by JSBoard Open Project
Theme Designed by IDOO All right reserved
[TOP]

적수네 동네
+
| 적수네 동네
| 공부방
| 리눅스 잡지 서고
| LSN 소스
| 링크 모음
+---+
게시판
+
| 떠들어보세!
| 질문과 답변
| 새소식과 정보
| 1원짜리 팁?
| 대화방
+---+
칼럼?
+
| 세하 훔쳐보기
| Welcome2nite
| 혜진의 염장판
+---+
리눅스 상표권
+
| 반대 서명란
| 토론 게시판
+---+
GNU
+
| GNU 선언문
| GNU GPL
| GNU 미러 목록
+---+
프로젝트?
+
| 리눅스카운터
| RC5DES
| 실질헌법 제작
+---+
커널 소식
+
| 안정 버젼: 2.4.14
+---+
테마 선택
+
LSN 방송국?
+
| OFF AIR
+---+
회원
+
| 로그인
+---+
[ 적수네 동네 ] [ 리눅스 상표권 독점 반대 ] [ 한글 리눅스 문서 프로젝트 ] [ KrLine ] [ 사랑넷 ] [ Valid HTML 4.0! ] [ SlashDot ] [ Freshmeat ]
Copyleft (C) 1998-2001 Byeong-Chan Kim . License
TIME: 1791043690
System by WYZsoft, HDD by I.O.Linux, Mizi Research, Embryo, WOWLINUX, Domain by SarangNet, Network by KrLine.