Windows의 기본 VPN설정으로 Netplix접속시 주의사항

목적 외국에서 한국 Nexplix를 보고 싶다. 하지만 유료 VPN은 별로 사용하고 싶지 않다. 수시로 접속 거부를 당하면서 요금을 지불하고 싶지는 않다. 해결책 부모님 댁에 VPN서버를 지원하는 무선공유기를 한대 설치해 드리고 나는 외국에서 VPN으로 접속하여 Nexplix를 감상한다! 상황 공유기에 설정한 VPN에 iPad, Macbook으로 접속하면 문제 없이 한국 Netplix로 접속되는것을 확인했다. Windows11에서는 기본 VPN으로 iptime의 VPN에 접속하면 일본 Netplix로 접속 된다. 원인 처음에는 VPN의 Split Tunneling 문제가 아닐까 싶었다. Windows의 VPN설정에서는 Split Tunneling설정이 보이지 않았으므로 Power Shell에서 확인해 보았지만 Split Tunneling은 설정되어 있지 않았다.  결론부터 말하면 원인은 DNS서버였다. 이유는 모르겠지만 MacBook에서는 VPN접속시, DNS서버도 VPN서버의 DNS가 자동으로 설정되었는데 Windows11에서는 DNS서버가 변경되지 않아 한국 지역으로 인식되지 않았던 것으로 추측. Solution Windows11의 VPN접속 설정에서 접속시의 DNS서버를 한국의 공유기 IP로 지정을 해주었다. 그리고 IPv6이용설정을 해제하여 IPv4만 이용하도록 설정하니 문제 없이 접속되었다. 다음 문제 미니PC를 한대 구매하여 모든 설정을 마쳤지만 매번 키보드/마우스로 조작하는게 귀찮아 Remote Desktop으로 접속하는 것을 생각했다. 미니PC에 접속할때는 iPad를 이용할 계획인데 현재 찾아본 바로는 Console접속을 지원하는 Application이 없는 듯 하다. RemoteDesktop으로 접속하면 현재 TV에 연결해 놓은 세션은 꺼져버리니 Console로 접속가능한 어플리케이션이 필요하다. TeamView를 이용하니 어느정도 문제가 해결되긴 했지만 여기저기 조그마한 문제점들이 있어 고민중.

AWS에서 zabbix를 이용한 autoscaling ec2 자동등록/자동삭제

 zabbix가 오픈소스로서 참 많은 기능을 제공 하고 있는데, jira와 마찬가지로 되는건 많은데 가려온 곳은 아슬아슬하게 피해가는 재주를 가지고 있는 듯 하다. 필요한 기능은 거의 다 있는데 될듯 하면서도 안되는데 jira와 zabbix. 특히 AWS에서 제공하는 AutoScaling Group을 이용한 EC2의 scale out/in 을 이용하면 zabbix에서 기본으로 제공되는 기능으로는 EC2를 제대로 모니터링 할 수가 없다. 어찌어찌 Host 등록은 한다 하더라도, EC2가 scale in 되어 terminated되었을 경우엔, 그냥 그대로 zabbix agent 와 통신할 수 없다는 에러를 내뿜으며 방치되어 버린다.

인터넷을 뒤져보아도 깔끔하게 처리할 수 있는 방법이 없고, 스크립트와 다른 기능들을 이용하여 scale out/in 에 의한 EC2의 자동등록/자동삭제를 구현하고 있었다. 그러나 이마저도 실제로 해보니 메뉴가 틀리거나 옵션이 없거나, 실제로 동작하지 않는 경우도 많았다. 최종적으로는 여러가지 정보를 취합하여 실제로 동작하는 방법을 찾아 냈으니 참고 삼아 이곳에 남기도록 한다.

시행착오

  • auto discovery 기능을 시도 해보았지만, 24bit 네트웍에 대해 15분 이내로 처리가 끝나지 않아, 다음 discovery가 계속하여 지연되는 현상이 발생했다. 15분 이면 terminated된 인스턴스에대해 agent 통신 에러가 발생하는 타이밍이기 때문에 유효한 방법이 아니라고 생각되어 포기하였다.

※ zabbix version : 4.0TLS
※ 특별한 설정내용이 없는 항목은 디폴트값이나 환경에 맞추어 적절히 설정할 것

 

zabbix_agentd.conf

먼저 ec2의 zabbix_agentd.conf 파일을 수정해 줄 필요가 있다.

//ec2의 instance id를 얻기위해 ec2에서 meta-data를 조회한다.
//meta-data조회를 위한 curl명령어 실행을 위해 지정
EnableRemoteCommands=1

//ec2의 hostname은 hostname_instance-id로 하고 싶으니 주석처리를 하고
//HostnameItem에 system.hostname을 지정해 준다.
//Hostname은 고정 hostname을 지정할때 이용한다.
# Hostname= →이 라인을 주석처리
HostnameItem=system.hostname

//auto scaling group이 여러개 존재할 경우 auto registration에서 구분하기 위한 구분자를 지정한다.
HostMetadata=<mystring> 

Template#1

autoscaling이 필요한 ec2도 있을 터이고 그렇지 않은 ec2도 있을 것이다. template에 autoscaling 대응 내용을 설정한 뒤, 필요한 경우에 host 등록을 하면서 template을 추가하면 적용되도록 할 것이다.

Configuration에서 Templates를 선택하여 Template를 생성한다. Template name에 EC2AutoScale 을 지정하고, 필요한 Groups을 지정해준다. Macro와 Item, Trigger등은 나중에 따로 추가한다.

Auto Registrion

scale out에 의해 ec2가 추가 되었을 경우 zabbix_agnetd.conf 를 기반으로 zabbix가 기동된다. 그 설정을 이용하여 zabbix에서 감시대상 host로서 자동으로 추가하게 되는 설정이다. 추가는 아주 간단하다. 추가는.......

  1. Configuration-Action에서 Event source를 Auto registration으로 변경한 뒤, Create action을 클릭
  2. Name에 autoreg-test 등 적당한 이름을 지정
  3. New condition에서 Host metadata contains <mystring> 을 지정한다.
    mystring은 zabbix_agentd.conf 에서 지정한 문자열을 똑같이 지정한다.
    이 conditon은 자기 환경에 맞추어 적절하게 수정해도 문제 없다.
  4. Add버튼을 클릭하여 Conditions에 추가되는 것을 확인
  5. Operations에서 필요한 동작을 추가한다.
    1. Add host
    2. Link to templates : Template#1에서 작성한 EC2AutoScale을 지정
  6. 밑에 있는 Add버튼을 클릭하여 Action을 추가 

Template#2

  1. Configuration-Templates-Item을 선택후 Create item을 클릭
  2. Type에서 Zabbix agent(active)를 선택
  3. Key에서 curl을 이용한 instance id를 조회하는 명령어를 지정
    system.run[curl -s -f http://169.254.169.254/latest/meta-data/instance-id]
  4. History storage period 를 Storage period를 선택하여 90d로 지정
    instance id가 변경되었나 확인 하기 위해선 history를 반드시 저장해야할 필요성이 있으니 참고.
  5. New application에서 EC2 meta-data를 지정(변경 가능)
  6. Add를 선택하여 Item을 추가

Template#3

  1. Configuration-Templates-Item을 선택후 Create item을 클릭
  2. Type에서 External check를 선택
  3. Key에서 나중에 작성할 ec2 status확인용 스크립트를 지정
    get_ec2_status.py[-i,{EC2_INSTANCEID}]
  4. Type of information은 Character를 지정
  5.  History storage period도 Template#2와 동일한 이유로 90를 지정
  6.  New application에서 EC2 meata-data를 지정(변경가능)

댓글

이 블로그의 인기 게시물

CISCO 2960s 초기화 후 기본 설정

curl 명령어 옵션

맥북 카라비너 영어/한글/일본어 전환하기