Alteon Layer 4 Switch Simple Manual
Server Load Balancing
Firewall Load balancing
[Configuration 메뉴]
1. interface 설정하기
>>main # cfg [configuration 메뉴로 들어가는 명령어]
>>configuration # ip [ip 관련 설정을 위한 메뉴로 들어가는 명령어]
>>ip # if 1 [interface 설정 -256 개의 interface 를 설정할수 있음]
>> IP Interface 1# addr 192.168.1.2 [ 스위치의 interface 주소]
>> IP Interface 1# mask 255.255.255.0 [ 주소에 대한 mask ]
>> IP Interface 1# broad 192.168.1.255 [ 주소에 대하 브로드캐스트 address]
>> IP Interface 1# en [ip 와 관련된설정 후에는 반드시 enable 을 해주어야함]
>> IP Interface 1# apply [apply 를 하므로서 설정을 활성화 시킴- 메모리에 저장됨]
>> IP Interface 1# save [save 를 해야 NVRam 에 저장되어 리부팅 후에도 사용가능]
· 약식 구성방법
>>main # cfg/ip/if 1/addr 192.168.1.2/mask 255.255.255.0/broad 192.168.1.255/en
2. gateway 설정하기
>>main # cfg [configuration 메뉴로 들어가는 명령어]
>>configuration # ip [ip 관련 설정을 위한 메뉴로 들어가는 명령어]
>>ip # gw 1 [gateway 를 설정 - gateway 는 4 개까지 설정가능]
>> Default gateway 1# addr 192.168.1.1 [gateway 주소 설정]
>> Default gateway 1# en [ip 관련 구성후 반드시 enable ]
>> Default gateway 1# apply
>> Default gateway 1# save
· 약식 구성방법
>>main # cfg/ip/gw 1/addr 192.168.1.1/en/apply/save
3. 스위치 기능 설정하기
· 패스워드 변경하기
>>main # cfg
>>configuration # sys [system 메뉴로 들어감]
>>system # user [user 메뉴에서 원하는 사용자를 선택]
>> User Access Control# admpw [administrator 의 password 를 변경시 선택]
Changing ADMINISTRATOR password
Enter current administrator password: [ 현재의 로그인 패스워드 입력]
Enter new administrator password: [ 변경할 새로운 패스워드 입력]
Re-enter new administrator password: [ 재 입력]
New administrator password accepted.
>> User Access Control#apply/save [ 반드시 apply 와 save 를 해 줍니다.]
· 약식 구성방법
>>main # cfg/sys/user/admpw
· telnet 기능 활성화 ( 반드시 콘솔로 접속을 하셔야 메뉴가 보입니다.)
>>main # cfg
>>configuration # sys
>>system # tnet en [telnet 서비스는 os 9.0 에서 default disable 이므로 활성화 시켜줌]
>>system # apply/save [ 반드시 apply 와 save 를 해 줍니다.]
· vlan 설정하기
>>main # cfg
>>configuration # vlan 2 [default 로 모든 포트는 vlan 1 에 할당되어 있다 ]
>>vlan 2 # add 1/add 2 [vlan 1 에서 필요한 포트를 빼오는 형식]
C interface 를 vlan 에 할당할때는 ip 설정하는 부분에서 해당하는 vlan 을 지정해 주면됨
ex) >>main # cfg/ip/if 2/addr 192.168.1.1/vlan 2/en
ip 를 설정하고 뒤에 해당 vlan 을 지정한다.
4. Server Load Balancing
· SLB 구성 로직
Real server : web 문서가 들어있는 서버들
Group : 동일한 서비스를 하는 서버들이 한 그룹에 포함되며, 로드발란싱 하는 기법
(least connection, roundrobin, hash. Etc) 을 적용하는 단위이자 Health check
결정 하는 단위가 된다.
VIP : 리얼 서버 4 대를 대표해주는 IP 이며 외부 사용자들은 웹서버에 access 할때 이 ip 를
보고 들어오게 된다 . 스위치는 이 ip 를 real server 의 ip 로 변경하였다가 되돌린다 .
가상의 대표 ip 를 설정하고 어떤 서비스를 하게 되는지를 결정하고 다시 서비스를 할
대상 그룹을 지정한다
· Real server 구성 command
>>main # cfg
>>configuration # slb [slb 메뉴로 들어감]
>>layer 4 # real 1 [real server 1 번 지정]
>>real server 1#rip 192.168.1.3 [real server 의 ip 를 설정할때는 rip address 이다]
>>real server 1# en [ip 설정후 enable 를 해준다. ]
>>real server 1# . . [ 마침표 두번을 찍으면 상위 메뉴로 간다. ]
· 약식 구성방법
>> main # c/sl/re 1/rip 192.168.1.3/en/../re 2/rip 192.168.1.4/en/ 방법으로 계속
· 그룹 지정하기
>>Layer 4 # group 1
>>Real server group 1 # add 1/add 2/add 3/add 4 [Real server 들을 추가한다]
>>Real server group 1 # health [ 서버와의 health check 하는 기준 선택]
icmp|tcp|http|dns|pop3|smtp|nntp|ftp|imap|radius|sslh
중 하나를 선택할 수 있다.
>>Real server group 1 # metric [ 로드발란싱 기법 선택]
leastconns|roundrobin|minmisses|hash|response|bandwidth 중 하나를 선택
( metric 에대한 설명은 맨 마지막장 참조)
· 약식 구성방법
>>main # c/sl/gr 1/add 1/add 2/add 3/add 4/met round/heal http
>>Real server group 1# . . [ 상위 메뉴로]
>>Layer 4 # virt 1 [virtual IP 설정 메뉴. VIP 는 256 개 까지 사용할 수 있다]
>>Virtual Server 1 # vip 192.168.1.10/en [virtual ip 를 설정하고 enable 하였다]
>>Virtual server 1 # service 80 [ 서비스 포트 지정]
>> Virtual Server 1 http Service# group 1 [ 서비스를 적용할 그룹 지정]
>> Virtual Server 1 http Service#../../ [ 상위 메뉴로 두번 올라간다.]
>> Layer 4 # on [SLB 전체를 활성화 시켜준다.]
>> Virtual Server 1 http Service# apply / save [ 저장하기]
· Service port 구성하기
>>Main # cfg
>>Configuration # slb
>>Layer 4 # port 1
>>SLB port 1 # client en [client traffic 이 들어오는 포트에 client enable 를 해준다]
>>SLB port 1 # ..
>>Layer 4 # port 2
>>SLB port 2 # server en [server 가 물려있는 포트에 server enable 를 해준다]
>>SLB port 2 # apply/save
알테온은 client 가 들어오는 포트에 client 의 traffic 이 들어오는 포트라는 지정을 해줘야
되고 server 가 물려있는 포트는 서버가 있는 포트라는 server enable 을 해줘야
정상적으로 서비스를 할수 있다 .
만약 어떤 사용자가 client enable 가 되지 않은 다른 포트에 자신의 pc 를 물려서
vip 로 ping 을 하면 ping 이 되지 않는다.
· User define port 지정하기(ex, 8080, 8001, 12000.....)
user define port 를 알테온에서 설정하는 방법은 3 가지가 있다.
1. 사용자의 destination port 가 80 이고 실제 service port 가 다를경우(ex.8001)
>> Main # cfg/slb/vi 1
>> Virtual Server 1# se 80 [ 사용자의 트래픽은 80 이다]
>> Virtual Server 1 http Service # rport 8001 [real port 가 8001 임을 지정한다]
Current real port: 80
New pending real port: 8001 [ 서비스 포트가 변경됨을 알려줌]
>> Virtual Server 1 http Service# gr 1 [ 서비스 하게될 리얼서버그룹 지정]
Current real server group: 1
New pending real server group: 1
>> Virtual Server 1 http Service# apply [apply 해서 서비스를 활성화시켜준다]
2. 사용자의 destination port 가 실제 service port 와 동일한경우
예를 들어 사용자가 http://www.cng.co.kr:8001 이라고 브라우저에 직접 치는 경우
>> Main # cfg/slb/vi 1
>> Virtual Server 1# se 8001 [ 사용자의 트래픽은 8001 이다]
>> Virtual Server 1 8001 Service # gr 1 [ 서비스 하게될 리얼서버그룹 지정]
Current real server group: 1
New pending real server group: 1
>> Virtual Server 1 http Service# apply [apply 해서 서비스를 활성화시켜준다]
3. 사용자의 destination port 가 80 이고 실제 service port 가 다른 여러개인 경우
예를 들어 사용자는 실제 서비스 포트를 전혀 모르고 80 으로만 쿼리를 보내고
실제 서버의 서비스는 8080, 8001, 12000 을 사용한다고할경우 알테온은 사용자의
쿼리가 어떤 서비스를 요구하는지 전혀 알수 없다.
따라서 이런 경우 각각의 서비스에 대한 각각의 vip 를 설정해야한다.
설정사항은 1 번과 같다.
· Filter 설정하기
-Filter : 필터는 cisco router 에서 나오는 access-list 와 동일한것으로 보면된다.
단지 alteon 에서는 allow, deny 외에 redirection 이라는 필터링 기법을 지원한다.
redirection 은 특정한 트래픽을 강제로 지정한 방향으로 가도록 만들어주는 필터이다.
주로 cache redirection 에 이용되며, WCR(web cache redirection), APR(application
Redirection) 에 쓰는 것이 보통이다.
filter 는 1 부터 224 까지 쓸수 있으며 1 이 가장 우선순위가 높다.
- 설정하기
>>main # cfg
>>configuration # slb
>>layer 4 # fi 100 [filter 번호 지정, 100 번부터 지정하는게 보통]
>>filter 100 # sip 192.168.1.1/smask 255.255.255.255/dip 10.10.10.1/dmask
255.255.255.255/pro tcp/dpo 80/act deny/en
>>layer 4 # port 1/add 100/fi en [slb port 에 filter 를 추가하고 filter enable 를 해줌]
>>layer 4 # apply/save [apply/save 는 필수 ]
source ip 가 192.168.1.1 인 host 가 destination ip 10.10.10.1 destination 80port 로
올경우 deny 시켜라는 filter.
filter 는 소스 트래픽이 들어오는 포트에 지정.
6. Firewall Load Balancing
· 개념
알테온의 주 기능중에 SLB 가 있는데 이 SLB 구성은 특정 서버의 IP 를
기준으로 로드발란싱을 하는 것인데 Firewall Load Balancing 은 그 원리를 이용한
것이다.
즉, 알테온이 firewall 반대편에 있는 알테온의 다른 두개의 Interface IP 를 서버로드발란싱
하는 것처럼 Load balacing 을 하여 그 경로상에 있는 firewall 이 자동적으로 load
balacning 되도록 하는 것이다.
네트웍을 6 개로 나누어서 하는게 보통이지만 다양한 네트웍으로 구성하여 사용할수 있다.
· 구성로직
둥근 점선 표시는 네트웍을 의미한다.
· 알테온에 구성되는 요소들
- swtich 의 interface 3 개 : 각 네트웍으로 통신을하기위해서 각 네트웍마다 하나의
ip address 가 설정되어야한다. 네트웍이 3 개라면 통신을 위한 interface 가 3 개 필요.
- gateway : default gateway 설정
- vlan : 각 네트웍을 vlan 으로 나누어준다.
- static route : 로드발란싱될 다른 L4 switch 의 다른 네트웍으로 가기위한
gateway 지정
- real server, group(metric hash) : 실제 load balancing 되는 real serve 는 반대편
L4 switch 의 interface 이다. slb 설정과 동일하게 group 에 추가하고 metric 값을
반드시 hash 로 지정한다.
- filter : firewall 을 거쳐 firewall 안쪽 네트웍으로 들어가려는 트래픽을 강제로 그
네트웍쪽으로 뿌려주도록 만들어준다.
· switch 의 interface 설정하기
>>main # cfg/ip
>>ip # if 1/addr 192.168.1.1/mask 255.255.255.0/broad 192.168.1.255/vl 1/en
>>ip interface 1 # ..
>>ip # if 2/addr 192.168.2.1/mask 255.255.255.0/broad 192.168.2.255/vl 2/en
>>ip interface 2 # ..
>>ip # if 3/addr 192.168.3.1/mask 255.255.255.0/broad 192.168.3.255/vl 3/en
>>ip interface 3 # ..
· gateway 설정하기
>> ip # gw 1/addr 192.168.1.254/en
>> Default gateway 1 # apply
>> Default gateway 1 # /
· Vlan 설정하기
>> main # cfg/vlan 2
>> vlan 2 # add 5/add 6/en
>> vlan 2 # ..
>> configuration # vlan 3
>> vlan 3 # add 7/add 8/en
>> vlan 3 # /
· Static route 지정하기
>> main # cfg/ip
>> IP # route
>> <st1:Street>
Ip Static Route
</st1:Street> # add
Enter destination IP address: 192.168.4.0
Enter destination subnet mask: 255.255.255.0
Enter gateway IP address: 192.168.2.254
Enter interface number: (1-256) 2
* 약식 : /c/ip/route/add 192.168.4.0 255.255.255.0 192.168.2.254 2
각각 필요한 라우팅 정보를 다 넣어준다. ( 필요한 내부 네트웍 등등)
>> <st1:Street>
Ip Static Route
</st1:Street> # /
· SLB 설정하기
>> Main # cfg/slb
· Real server 설정하기
; real server 는 firewall 이 아니라 firewall 반대편에 있는 switch 의 다른 두개의
interface 이다.
>> Layer 4 # re 1
>> Real Server 1 # rip 192.168.4.1/en
>> Real Server 1 # ..
>> Layer 4 # re 2
>> Real Server 2 # rip 192.168.5.1/en
>> Real sever 2 # ..
· 그룹 설정하기
>> Layer 4 # gr 1
>> Real Server Group 1 # add 1/add 2/metric hash/heal icmp
>> Real Server Group 1 # ..
metric 값은 반드시 hash 로 설정해준다. 사용자의 트래픽이 특정 firewall 을 거쳐
내부 네트웍에 있는 특정 서버에 접근했다가 다시 source 로 돌아갈때 만약 처음
들어올때 지나갔던 firewall 을 다시 거치지 않는다면 packet 은 drop 될것이다.
hash 라는 알고리즘은 source IP 와 destination IP 를 연산하여 특정 라일을 타면
다음에도 계속 그 라인을 탈수 있도록 해준다.
· Filter 설정하기
>> Layer 4 # filter 100
>> Filter 100 # dip 192.168.6.0
>> Filter 100 # dmask 255.255.255.0
>> Filter 100 # action redir
>> Filter 100 # group 1
>> Filter 100 # en
내부 네트웍으로 가는 트래픽들을 아래쪽 switch 로 강제 라우팅을 시키는 필터
>> Filter 100 # ..
>> Layer 4 # Filter 101
>> Filter 101 # dip 192.168.2.0
>> Filter 101 # dmask 255.255.255.0
>> Filter 101 # act allow
>> Filter 101 # en
>> Filter 101 # apply
>> Filter 101 # ..
>> Layer 4 # Filter 102
>> Filter 102 # dip 192.168.3.0
>> Filter 102 # dmask 255.255.255.0
>> Filter 102 # pro tcp [101 번 filter 와 102 번 filter 는 firewall 을 manage
>> Filter 102 # act allow 할수 있도록 allow filter 를 걸어준다. 만약 allow
>> Filter 102 # en filter 가 없다면 firewall 로 가려는 트래픽도 강제로
>> Filter 102 # apply 내부 네트웍으로 보내지게 될것이다. ]
>> Filter 102 # ..
· slb port 에 filter 추가하기
>> Layer 4 # po 1
>> SLB port 1 # add 100/add 101/add 102/filt en
>> <st1:place><st1:PlaceName>SLB</st1:PlaceName> <st1:PlaceType>Port</st1:PlaceType></st1:place> 1 # ..
filter 는 사용자의 트래픽이 들어오는 포트에 설정한다.
위에서 만든 filter 를 slb menu 아래에 있는 port 에 추가하여주고 반드시 그 포트에서
fitler enable 를 해주어야한다.
· SLB 활성화 하기
>> Layer 4 # on
>> Layer 4 # apply / save
모든 slb 설정이 끝나면 slb 를 활성화 시켜 주어야 하는데 on 을 하면 활성화된다.
slb 가 on 이 되고나면 진정한 layer 4 기능을 수행한다.
즉 slb 가 off 되어 있다면 패킷의 header 정보를 까보지 않는다. 오로지 layer3 스위치
와 같은 역할 을 할 뿐이다.
slb 가 on 되고 나면 일일이 패킷을 까보면서 사용자 트래픽이 destination 이 어디인지
source ip 는 무엇인지, 어떤 서비스를 원하는지 (service query) 등등을 확인하여
적절한 방향으로 트래픽을 보내주게 된다.
7. Information
· 구성 정보보기
>>main # in
>>Information # li [ 각 양식의 맨 위 양식의 맨 아래 포트에 설정된 링크정보를 볼수
있다. ]
------------------------------------------------------------------
Port Speed Duplex Flow Ctrl Link
--- ----- -------- --TX-----RX-- ------
1 100 half no no up
2 1000 full yes yes down
3 1000 full yes yes down
4 1000 full yes yes down
5 1000 full yes yes down
6 1000 full yes yes down
7 1000 full yes yes down
8 1000 full yes yes down
9 1000 full yes yes down
>>Information # ip [switch 에 설정된 interface 및 gateway 정보를 볼수 있다.]
>>Information # slb [ 구성된 SLB 정보를 볼수 있다. 만약 slb 설정후 on 을 하지 않았다면
정보는 보이지 않게 된다. ]
>> Server Load Balancing Information# sess/du [ 어떤 사용자가 어떤 서버에 접속했는지
알수 있다 ]
>> Server Load Balancing Information# du [ 전반적인 slb 구성 정보 보기]
8. Statistics
· 통계치 보기
>> main # st
>> Statistics # port 1 [port 1 에 대한 통계치를 보기위해 1 번을 선택]
>> Port Statistics # br [layer 2 의 정보보기]
>> Port Statistics # et [Ethernet 정보보기]
>> Port Statistics # if [interface 정보보기]
>> Port Statistics # cpu [ 각 포트마다 있는 cpu 부하율 확인하기]
>> main # st
>> Statistics # slb [slb 관련 통계정보를 본다]
>> Server Load Balancing Statistics# gr 1 [ 그룹에 속해 있는 각 서버들에 대하여 current session , highest session, total session, octet 정보를 볼수 있다. ]
>> Server Load Balancing Statistics# port 1 [1 번 포트에 물려 있는 서버들에 대한
위와 동일한 통계정보를 볼수 있음]
>> Server Load Balancing Statistics# vi 1 [vip 1 번에 속해 있는 그룹의 서버들에대한
위와 동일한 통계정보를 볼수 있음]
>> Server Load Balancing Statistics# real 1 [ 지정한 서버에 대하여 위와 동일한 통계정보를 볼 수 있음]
9. Maint
· arp table 보기
>>main # ma
>>maintenance # arp
>>address resolution protocol # dump
>> Address Resolution Protocol# du
IP address Flags MAC address VLAN Port Referenced ports
--------------- ----- ----------------- ---- ---- ----------------
61.33.243.71 P 00:60:cf:43:e8:10 1 1-3 5-9
61.33.243.128 00:d0:59:2d:a9:b7 1 1 empty
61.33.243.254 00:d0:58:ad:4a:c3 1 1 empty
>> Address Resolution Protocol# clear [arp 지우기]
Loadbalancing Metric
least connection
현재 세션이 가장 적은쪽으로 세션을 보내줍니다.
현재 세션수를 고려하기 때문에 약간의 메모리자원을 소비합니다.
default metric 이기때문에 제일 많이 사용되는 메트릭이고 일반적인 서버 로드발란싱의
경우에는 대부분 이 옵션을 많이 씁니다.
roundrobin
roundrobin 은 리얼서버의 마지막 번호를 가진 서버로부터 출발하여
순차적으로 세션을 맺도록 해주는 로드밸런싱 기법입니다.
예를 들어 5 대의 서버가 있다면.. 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 4, 3, 2, 1........
위와같은 순서로 로드벨런싱 하게 됩니다.
특별한 서비스가 있지 않은 일반적인 웹사이트를 운영하는 곳에서 씁니다.
leastconn 과 roundrobin 은 관리자들의 요구에 따라 선택하며
가장 단순한 로드발란싱이므로 알테온에 거의 부하를 주지 않습니다.
minmiss
hash 와 비슷한 로드벨런싱 기법입니다. 국내에서는 거의 사용되지 않는걸로 알고 있습니다.
hash 와 minmiss 는 알테온 자체에서 정해진 hashing algorithm 을
적용시킵니다. 여기서 두가지 기법의 차이는 로드벨런싱이 이루어지다가 특정서버가
down 됐을경우 이 서버와 세션을 맺고 있던 사용자들을 어떻게 처리할것인가
하는 부분에 약간 차이가 있습니다.
hash
hash 는 알테온 자체에서 제공하는 hashing algorithm 을 사용하여 로드발란싱 하는 기법입니다. 정확한 메커니즘은 공개되지 않아 잘 모릅니다만 원리는 이렇습니다.
source ip 와 destination ip 를 조합을 합니다. 예를 들어 192.168.1.1 이라는 source ip 와
10.10.10.254 라는 destination ip 가 있다고 할경우..
그리고 source 가 사용자 이고 destination 이 vip 라고 하겠습니다.
그러면 이 두 아이피를 조합하여 어떤 수를 만들어 냅니다.
그래서 만약 끝자리 아이피.. 1 과 254 를 조합하여 255 라는 수를 만들어 냅니다.
이 수를 설정된 리얼 서버의 수로 나눔을 합니다.
만약 서버가 3 대라면 나머지는 0 이 되겠지요. 그러면 리얼서버 1 번으로 접속하게
됩니다.
만약 조합이 124 이다.. 그러면 3 으로 나눈 나머지는 1 이 되죠.. 그러면
2 번 리얼서버로 가라.. 라는 식입니다.
그러면 다음에 접속을 하더라도 vip 와 client ip 가 동일 하므로 나머지 값은
항상 동일 하게 되죠.. 그러면 항상 같은 서버로 접속하게 되는 것입니다.
이런 경우는 보통 세션을 유지해야할 필요가 있는 사이트( 인증, 보안 등등) 에서
주로 사용합니다.
bandwidth based loadbalancing
bandwidth 로드발란싱은 말 그대로 알테온과 연결된 서버들과의
대역폭을 고려하여 로드발란싱 세션을 어떻게 보낼것인가를 결정하게 되는
그런 방식입니다.
로드발란싱 기법은 작년 10 월즈음에 나왔습니다.
예를 들어 서버가 3 대정도 있고 한대는 기가로 다른 두대는 10/100 으로
물려있다고 할경우 기가 쪽으로 더욱 많은 트레픽을 보내게 됩니다.
아직 이 옵션을 사용하는 사이트는 많이 없습니다.
response time
response time 은 알테온이 서버와 통신을 하면서 그 응답시간에 대한
학습을 통하여 응답시간이 빠른 쪽으로 많은 세션을 보내주고 응답이 느린쪽으로
세션을 적게 보내는 방식 입니다.
국내 유명 부동산 사이트에서 사용하고 있는 방식입니다.
이 사이트의 경우는 처음 leastconnection 방식을 사용하였습니다. 그런데 어느 순간 서버들이 행걸리는 경우가 발생하였다고 하는데 이유를 보니까 어떤 현상에 의해서 서버의 부하가 조금 올라갔고 그러면서 사용자 쿼리에 대한응답을 조금 느리게 해주게 되었고
그러다 보니까 세션이 줄어들게 되고 세션이 줄어들면 알테온은 또 세션을 보내게 됩니다. 그러면 또 서버의 부하가 늘어나고 이렇게 악순환이 되다보니 서버에 행이 걸린경우 였습니다. 그래서 응답시간으로 로드 발란싱 해 보니 응답이 바로 오지 않는곳으로는 트래픽을
보내지 않아서 서버가 안정화되었던 겁니다.
[TIP]
- L4 초기화 명령어 : forgetMe!
- 취소명령어 : revert
- IP 설정시에는 mask 값부터 입력 그러면 브로드캐스트값이 자동 입력됨
- SLB health check 는 tcp
FLB health check 는 icmp
- 서비스포트만큼 그룹을 생성해야 함. 동일그룹에 여러서비스포트 생성하지 말것.