뭘 이런걸..

Posted
Filed under Tech/Tip & Trick
10년도 더 된 LinkSys srw2024 switch 의 CLI mode 설정과 LLDP 를 지원 하는 방법에 대하여 기록 합니다. (까먹을 까봐 기록하는 겁니다. ^^)

재미 있는 건, 이 switch가 L3 도 지원을 한다는 것이었네요. 이제껏 모르고 있었습니다. ^^;

1. CLI mode 사용하기


srw2024 는 WebUI를 제공하기는 하지만, IE 전용이고, 굳이 말하자만 IE 7 전용이라고 봐야 합니다. 즉, IE 7 이 후 버전에서는 제대로 randering 을 하지 못한다는 의미입니다. WebUI를 사용하기 위해서는 개발자 도구를 열어서 문서모드와 사용자 에이전트 문자열을 조작한 다음 접속을 해야 한다는 의미 입니다.



상당히 불편 합니다. 그래서 CLI 모드를 사용하기 위해서는 ssh 연결을 할 수 있습니다. user 명은 다시 입력을 받기 때문에 신경쓰지 않아도 됩니다. ssh 로 접속을 하면 다음과 같이 인증 화면이 뜹니다. User Name 과 Password 입력창 간의 전환은 TAB 키로 이동할 수 있습니다.



로그인을 하면 다음과 같이 Memu가 나옵니다.



WebUI 와 거의 비슷하지만, 4. System Mode (Layer 2 / Layer 3) 메뉴가 더 추가 되어 있고, 여기서 L3 switch 로 전환이 가능 합니다. 이 부분은 여기서 논하지는 않을 예정입니다. 관심있는 분들은 살펴 보시기를.. (그런데 이 switch를 아직 쓰는 사람들이 있을지..)

이렇게 ssh console 로 접속을 해서 cli mode 라고 하기는 좀 그렇습니다. 이 메뉴만으로 할 수 없는 일들이 많이 있습니다. LinkSys switch는 Cisco switch 와 같으 CLI 환경이 숨어 있습니다. 이 화면에서 Ctrl-Z 를 누르면 숨어 있는 CLI mode 로 들어갈 수 있습니다.



위의 화면은 CTRL-Z를 입력 했을 때 prompt가 뜬 상태 입니다. 처음 prompt 가 뜰 때는 마지막 memory log 를 출력하기 때문에 위의 화면 처럼 나오는데, 실제로는 제일 처음의 > 문자가 prompt 이고, 그 뒤는 log 가 출력이 된 것입니다. 이 화면에서 도움말을 보고 싶으면 ? 를 입력 하면 됩니다.



무언가 명령이 나왔습니다. :)
우리의 목적은 Cisco switch 의 cli 설정 환경 입니다. 그러므로, 여기서는 lcli 명령을 실행 하도록 합니다.



cli 모드로 진입을 하려면 다시 로그인을 해야 합니다. 위와 같이 인증을 하면 cli 모드로 진입이 됩니다. cli 모드에서 help 명령은 ? 문자를 입력하면 됩니다. (enter key를 입력할 필요가 없습니다.)





lcli 로 집입한 상태는 cisco 처럼 config 상태가 아닙니다. 설정을 변경 하기 위해서는 cisco와 같이 configure 모드로 진입을 해야 합니다.



configure 모드에서 ? 를 입력하면 아래와 같이 사용할 수 있는 명령어 목록들이 출력이 됩니다.




2. LLDP 설정 하기


이 문서는 단순히 기록을 위한 것이기 때문에 LLDP가 무엇인지에 대해서는 논하지 않습니다.

srw2024 는 기본적으로 LLDP 설정이 disable 이며, 또한 enable 역시 설정 화면에서 할 수가 없고 snmp를 이용해야 합니다. 그러므로 snmp 설정이 필요 합니다.

WebUI 를 이용하든, CLI 모드를 이용하든 snmp rw가 가능한 community를 생성해 줍니다.

gwi.kldp.org# conf
gwi.kldp.org(config)# snmp-server community lldpset rw


다음 swtich 에 연결이 되어 있는 net-snmp-utils 패키지가 설치된 시스템에서 다음 명령으로 확인을 합니다.

[root@kill ~]$ snmpwalk -v2c -c lldpset gwi.kldp.org 1.3.6.1.4.1.3955.89.110.1.1.1.0
SNMPv2-SMI::enterprises.3955.89.110.1.1.1.0 = INTEGER: 2


위와 같이 OID의 값이 2일 경우에는 LLDP 설정이 disable 인 상태 입니다. LLDP 설정을 enable 하기 위하여 다음과 같이 명령을 실행 합니다.

[root@kill ~]$ snmpset -v2c -c kldp gwi.kldp.org 1.3.6.1.4.1.3955.89.110.1.1.1.0 i 1
SNMPv2-SMI::enterprises.3955.89.110.1.1.1.0 = INTEGER: 1


잘 설정이 되었는지 확인을 합니다.

[root@kill ~]$ snmpget -v2c -c kldp gwi.kldp.org 1.3.6.1.4.1.3955.89.110.1.1.1.0
SNMPv2-SMI::enterprises.3955.89.110.1.1.1.0 = INTEGER: 1


LLDP 가 enable 되었다면 잘 되었는지 확인을 합니다. switch cli mode로 진입 하여 아래와 같이 확인 합니다.

gwi.kldp.org# show lldp nei
Port Device ID Port ID System Name Capabilities
------- ----------------- ----------------- ------------------- ------------
3 00:31:b5:c7:64:32 00:31:b5:c7:64:32 netgear.kldp.org H
6 00:36:29:43:61:dc 00:36:29:43:61:dc cicso.kldp.org H
8 00:3e:24:c1:19:64 00:3e:24:c1:19:64 O
gwi.kldp.org#


확인이 잘 되면, rw 모드로 생성했던 commnunity를 ro로 변경해 줍니다.

console# conf
console(config)# snmp-server enable
console(config)# snmp-server community lldpset ro


삭제를 하고 싶다면, web UI를 이용하여 삭제할 수 있습니다. (이래저래 귀찮습니다. 한 곳에서 깔끔하게 되지를 않네요.


2018/08/11 15:45 2018/08/11 15:45
Posted
Filed under Tech/Tip & Trick
Windows 10 사용중에 마우스만 움직이고 다른 기능은 다 멈추는 문제가 종종 발생했는데 찾아보니 "DynamicTick" 기술의 충돌 때문이라고 하네요. 자세한 건 하단의 "출처" 참고 하시고, 관리자 권한으로 cmd 실행해서

bcdedit /set disabledynamictick yes

실행한 후, rebooting 하시면 된다고 합니다.

출처: http://foxcg.com/246
2017/07/19 14:36 2017/07/19 14:36
Posted
Filed under Tech/Tip & Trick
방금전, openvpn-gui 의 한글 번역이 review 를 통과 했습니다. 대충 번역만 해서 pull request를 날렸더니 까다롭게 하나하나 짚어 내는 군요.

그래서 좀 신경써서 테스트도 해 보고 해서 다시 제출을 하니 방금 approve가 되었습니다.

아마 다음 버전 릴리즈시에는 openvpn-gui 에서 한글을 보실 수 있을 겁니다. (단, 번역 품질은 ㅎㅎ)

https://github.com/OpenVPN/openvpn-gui/pull/155

사용자 삽입 이미지
사용자 삽입 이미지
2017/04/26 00:30 2017/04/26 00:30
Posted
Filed under Tech/Tip & Trick
금일 Xen Server 7.1로 업그레이드를 한 이 후에, oops.org VM 이 아래의 메시지를 뿌리면서 load가 되지 않는 문제가 있었습니다.

Failed Starting VM 'oops.org'

This operation cannot be performed because the specified virtual disk could not be found

정말 당황 스러웠습니다. 검색을 해 봐도 뾰족한 수는 없고, VM host에 로그인 해서 LVM partition을 봐도 제대로 인식은 되어 있었고..

oops.org는 기존에 Xen Server 7.0으로 운영을 하고 있었으며, Disk는 LVM으로 다음과 같이 사용을 하고 있었습니다.

Pysical disk:
  • /dev/sda   SSD 150G
  • /dev/sdb   SATA 500G

Logical disk:
  • oops.org
  • an2.pkg.oops.org
  • an2.x86.pkg.oops.org
  • test.oops.org

그런데, 다른 VM은 모두 load가 되는데, 하필 oops.org VM만 load가 되지 않는 것이었습니다. 특정 가상 disk를 인식을 할 수 없다는데, VM host에서 아무리 확인을 해 봐도 oops.org partition은 살아 있고, 실제로 다른 VM에 attach를 해서 확인을 해 봐도 잘 살아 있더군요.

2017년 1월 경에 장비 fault 나면서 복구 한지 이제 2달 정도 지났고, 정신 없이 지내다 보니 백업도 2017년 1월달 까지 밖에 없고, 좀 난감하더군요. 그래서 어쩔 수 없이 있는 파티션 날릴 각오를 하고 최후의 꽁수를 진행해 보았습니다.

  1. Detach oops.org virtual disk
  2. oops.org VM 제거
  3. oops.org VM 재생성
  4. Reattach oops.org virtual disk
  5. VM 재생성시에 생성된 가상 disk 제거
  6. boot 옵션을 Hard Disk로만 되도록 설정 변경
  7. rebooting

이 작업 이 후에, 다시 인식을 하여 oops.org VM load를 성공했습니다.

살짝 암담했었는데, 겨우 복구하고 한숨 한번 쉬어 주고, 이 글을 작성 합니다. --;
2017/03/29 04:24 2017/03/29 04:24
Posted
Filed under Tech/Tip & Trick
Note: OS X 10.11 El Capitan에서의 방법이 업데이트 되었습니다.

아.. Mac Lion에서 동작하는 Apple Script를 찾느라 힘이 들어 공유 합니다. (일단 한글 자료가 없어서..)

일단, finder > 응용 프로그램 > Apple Script 편집기를 실행 해서 다음의 코드를 넣습니다.

주의할 것은, Apple Script를 사용하기 위해서는 "시스템 설정" > "손쉬운 사용" 의 하단에 "보조 장비에 대한 접근 활성화"가 체크되어 있어야 합니다.

Safari Private Browsing 한국어 모드



OS X 10.11 El Capitan 에서는 다음과 같이.. (https://discussions.apple.com/message/29223652#29223652 참조)

Safari Private Browsing 한국어 모드



영문판은 다음과 같이 하셔야 합니다.

Safari Private Browsing 영문 모드

2016/01/20 18:26 2016/01/20 18:26
Posted
Filed under Tech/Tip & Trick
Xen Server 6.0.2 이전 버전에서 6.2로 업그레이드를 했을 경우, XenCenter에서 license expire alter이 뜰 경우 조치 방법입니다.

아마도, Xen Server 6.2에서 설치한 VM host들은 license expire가 발생하지 않을 겁니다.

Xen host의 console로 들어가서

shell# cd /etc/xensource shell# mv license license.org shell# xe-toolstack-restart


위의 조치를 취하면 더이상 expire alert이 뜨지 않습니다.

출처: http://discussions.citrix.com/topic/334904-xenserver-62-free-with-license-expire-message/
2014/03/20 00:48 2014/03/20 00:48
Posted
Filed under Tech/Tip & Trick
Mountain Lion의 Mac용 Outlook의 첨부파일 preview cache 를 삭제 하려면 다음의 파일을 삭제한다.

rm -f ~/Library/Caches/com.apple.QuickLookDaemon/Cache.db rm -f ~/Library/Caches/com.apple.QuickLookDaemon32/Cache.db
2012/10/16 16:55 2012/10/16 16:55
Posted
Filed under Tech/Tip & Trick
Tor를 막을일이 생겼다 기록 차원에서 남긴다.

http://www.torproject.org/faq-abuse.html.en
https://check.torproject.org/cgi-bin/TorBulkExitList.py
2011/03/18 04:37 2011/03/18 04:37
Posted
Filed under Tech/Tip & Trick
노트북도 하나 사고, 덩달아 Windows 7 Machine이 하나 생기게 되었습니다. OS를 64bit로 신청했는데 32bit로 온것 빼고는 그리 나쁘지 않더군요. 연말까지 휴가고 해서 회사 notebook을 과감히 Windows 7 64bit로 설치를 해 버렸습니다.

그런데 난리가 나 버렸군요.

제가 사용하는 환경은 Windows 기반에 cygwin + hanterm-xf 또는 portable ubuntu 환경을 사용합니다. 그런데 일단 Cygwin + hanterm-xf환경에서.. Windows 7에서 run.exe를 실행 할 때 cmd 창이 hidden 처리가 되어야 하는데, 되지를 않는 문제가 있더군요. 즉, hanterm 창 하나에 cmd 창이 하나씩 따라 열립니다. --; (엄격히 말하면 cmd 창이 열려서 hanterm-xf.exe를 실행하고 닫혀야 하는데 - 이게 run.exe가 하는 일이죠.) 그래서 이젠 오랫동안 사용한 cygwin + hanter-xf 환경은 버리고, portable ubuntu에 정착을 하자고 마음을 먹고 있었는데.. Windows 7 64bit 에서 colinux가 동작하지 않는다는 것을 까먹고 있었습니다. 그래서 어떡하든 cygwin을 해결해야 하는 상황이 되었습니다.

일단 cygwin homepage를 보니 cygwin 1.7 부터 Windows 7을 지원한다고 하고, 11월 말이나 12월 초에 릴리즈 할 거라고 적어 놓고선.. 왜 안하고 있지 하고 열심히 기다리고 있는데, 어제부로 cygwin 1.7이 릴리즈 되어 얼씨구나 하고 업데이트를 했지만 동일한 증상이 나타나더군요.

열심히 googling을 하다 보니.. 이미 메일링 리스트(http://www.cygwin.com/ml/cygwin-apps/2009-08/msg00018.html)에 이슈가 되어 있었으나, 개발자는 해당 패치를 거부한 모양 입니다. 혹시나 싶어서 이 패치를 적용해 보니.. ㅎㅎ 잘 되더군요.

혹시 비슷한 문제를 겪으시는 분들을 위해서.. 포스팅 합니다. 해당 패치가 된 run package는 ftp://mirror.oops.org/pub/Cygwin/pcakages/run/ 에서 받으실 수 있습니다. (웹 브라우저로 접근이 잘 안될 겁니다. ftp client를 이용하세요.) Windows 7 이 아닌 경우에는 받으실 필요 없습니다.

받으신 후에

shell> tar xvfpj run-1.1.12-11.tar.bz2 -C /


명령으로 설치가 가능 합니다. (한마디로 덮어 씌우는 거죠 ^^)
2009/12/24 03:01 2009/12/24 03:01
Posted
Filed under Tech/Tip & Trick
저번달에 비해 KRNIC (정확하게는 kisa.or.kr 이죠) data를 가져오려다 보니, access 제한을 걸어 놓았더군요. 처음 접속했을 때 특정 쿠키가 없으면 쿠키를 set하고 reload 하도록 되어 있는데, 문제는 이걸 javascript 로 처리해 놓았다는 것 입니다. 즉 java script를 지원하지 않는 w3m, wget, links, lynx 같은 브라우저들은 접근 조차 할 수 없다는 얘기이죠.

libkrisp가 KRNIC data를 이용해서 parsing 하는 것이라서 script 화를 해 놓았는데, 이 스크립트가 작동하지 않아서 보니.. 이런 변경 사항이 있었습니다. 그래서.. 뚫을 수 있는 스크립트를 다시 만들어 보았습니다.

Class KRNIC_data { static public $useragent = 'Mozilla/4.0 ' . '(compatible; MSIE 6.0; Windows NT 5.1; ' . '.NET CLR 1.1.4322; .NET CLR 2.0.50727)'; function get ($url) { if ( false === ($cookie = self::getCookie ($url)) ) return false; if ( false === ($data = self::getPage ($url, $cookie)) ) return false; return $data; } function getPage ($url, $cookie = '') { $c = curl_init ($url); curl_setopt ($c, CURLOPT_URL, $url); curl_setopt ($c, CURLOPT_TIMEOUT, 60); curl_setopt ($c, CURLOPT_NOPROGRESS, 1); curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($c, CURLOPT_USERAGENT, self::$useragent); $src = array ('!http[s]?://!', '!/.*!'); $dst = array ('', ''); $host = preg_replace ($src, $dst, $url); $header[] = 'Host: ' . $host; #$header[] = 'Excpet:'; curl_setopt ($c, CURLOPT_HEADER, 0); curl_setopt ($c, CURLOPT_NOBODY, 0); curl_setopt ($c, CURLOPT_HTTPHEADER, $header); curl_setopt ($c, CURL_FAILONERROR, 1); curl_setopt ($c, CURLOPT_SSL_VERIFYPEER, false); if ( $cookie ) curl_setopt ($c, CURLOPT_COOKIE, $cookie); $data = curl_exec($c); if ( empty ($data) ) { error_log ('Error: ' . curl_error ($c), 0); return false; } curl_close ($c); return $data; } function getCookie ($url) { $data = self::getPage ($url); preg_match ('/(_accessKey2=[^\']+)\'/', $data, $m); if ( ! trim ($m[1]) ) { error_log ('Error: Can\'t get krnic cookies => ' . $m[1], 0); return false; } return $m[1]; } } $site = 'https://ip.kisa.or.kr/ip_cate_stat/stat_05_04_toexcel.act'; echo KRNIC_data::get ($site); exit (0);


이 스크립트를 작동 하시기 위해서는 curl extension 이 필요 합니다.
2009/12/04 18:52 2009/12/04 18:52
이혜원

안녕하세요. 저도 비슷한 문제에 봉착해서 어떻게 해결하셨는지 조언 듣고 싶어서 연락드립니다.

서버 최초 접속 시
<html><script lang=javascript>
document.cookie = '_accessKey2=4K0vhJlSdVkvJXFyslMRDa8MH1-L9cIG'
window.location.reload();
</script></html>
코드로 리로드 시키는데, 문제는 OCX단에서 보내는 요청도 이 코드가 응답으로 와서 문제입니다.

해당 웹서버를 우리가 관리하는게 아닌터라 어떤 단(?)에서 어떤 녀석(?)이 위 코드를 뿌려주는건지 알 수 있을까요?

김정균

처리는 간단합니다. 해당 코드가 쿠키를 구어서 보내라는 의미이기 때문에 쿠키 데이터를 넣어서 query를 다시 보낸 것 입니다. :-)

위 코드는 해당 웹서버가 보내주는 것일 겁니다..

김정균

ㅎㅎ 쓸데 없는 행동을 한 것을 안 것인지, 이번달에 보니 풀어 버렸네요. :-)

redjade

오오오오 +_+