익스트림 스위치 os 업그레이드 – tftp 서버 이용 –

TFTP 서버를 이용한 EXOS 업그레이드

* 작업환경
모델: summit x440-24p, IP 주소:192.168.0.10
TFTP server : 192.168.0.2

작업에 사용한 스위치는 한번도 사용하지 않은 장비로, 아무런 설정이 되어 있지 않은 상태.

1. 장비 os 확인

* X440-24p.1 # sh switch

SysName:          X440-24p
SysLocation:
SysContact:       support@extremenetworks.com, +1 888 257 3000
System MAC:       00:04:96:9D:13:A0
System Type:      X440-24p

SysHealth check:  Enabled (Normal)
Recovery Mode:    All
System Watchdog:  Enabled

Current Time:     Fri May 31 00:40:23 2019
Timezone:         [Auto DST Disabled] GMT Offset: 0 minutes, name is UTC.
Boot Time:        Fri May 31 00:31:56 2019
Boot Count:       2
Next Reboot:      None scheduled
System UpTime:    8 minutes 27 seconds

Current State:    OPERATIONAL
Image Selected:   primary
Image Booted:     primary
Primary ver:      15.5.3.4
Secondary ver:    15.5.3.4

Config Selected:  NONE
Config Booted:    Factory Default

현제, primary, secondary 부트 이미지 모두 15.5.3.4 임을 확인할 수 있다.

Continue reading

파이썬, UnicodeDecodeError

파이썬에서 os 명령어를 실행하는 프로그램을 작성하고 실행할때, 때때로 아래와 같은 오류가 발생했다.

python3.6 code:

import subprocess
def linux_cmd(cmd, s):
    s = s.strip()
    p = subprocess.Popen([cmd, s], stdout=subprocess.PIPE)
    r = p.communicate()
    return r[0]

if __name__=='__main__':
    k = linux_cmd('cat', 'a.txt')
    print(k)

Continue reading

MySQL, INET_ATON으로 IP 주소 정렬하기

MySQL INET_ATON으로 IP 주소 정렬하기.

mysql에서 ip 주소(char type field)를 정렬하면 원하는 결과가 나오지 않는다.

mysql>  select ip from device_device where category_id=2 order by ip;
+----------------+
| ip             |
+----------------+
| 192.168.100.1  |
| 192.168.100.10 |
| 192.168.100.11 |
 ...
| 192.168.100.35 |
| 192.168.100.36 |
| 192.168.100.37 |
| 192.168.100.4  |
| 192.168.100.5  |
| 192.168.100.6  |
| 192.168.100.7  |
| 192.168.100.9  |
+----------------+
35 rows in set (0.00 sec)

mysql>

Continue reading

mysql 문자셋으로 인한 django 프로그램에서 db error

Django 에서 아래와 같은 오류 발생

django.db.utils.OperationalError: (1366, “Incorrect string value: ‘\\xE2\\x80\\x8B9F-…’ for column ‘address’ at row 1”)

원인은 mysql 데이타베이스와 테이블의 문자셋이 utf-8이 아니어서 발생했다.

database의 문자셋을 확인해보면, latin1 이다.

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.25, for Linux (x86_64) using  EditLine wrapper

Connection id:          462073
Current database:       information
Current user:           information@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.7.25-0ubuntu0.18.04.2 (Ubuntu)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /var/run/mysqld/mysqld.sock
Uptime:                 89 days 8 hours 44 min 3 sec

Threads: 1  Questions: 18081364  Slow queries: 0  Opens: 920  Flush tables: 1  Open tables: 846  Queries per second avg: 2.341
--------------

Continue reading

MAC 주소로 NIC 제조사 찾기.

https://tools.boxcorea.com/macvendor 이곳을 이용해 주시기 바랍니다.

https://mac.boxcorea.com : 초기 버전으로 유지보수가 쉽지 않아 업데이트를 중지합니다. 대신 새로운 사이트를 이용해 주시기 바랍니다.

python-django로, MAC 주소로 랜카드 제조사 찾는 프로그램을 만들었습니다.

이용해보시고, 오류있으면 알려주시기 바랍니다.

Django2, template에 dict 타입 데이타 표시하기

테스트를 위해 view를 만든다.app/views.py 에 테스트 뷰를 만든다.

class TestView(TemplateView):
    template_name = test.html'
    context = [ {'IP ADDRESS': '192.168.100.1', 'HOSTNAME': 'Fox', 'Connect': 'ssh'},
                {'IP ADDRESS': '192.168.100.2', 'HOSTNAME': 'Wolf', 'Connect': 'telnet'},
                {'IP ADDRESS': '192.168.100.3', 'HOSTNAME': 'Hotdog', 'Connect': 'ssh'},
               ]
    def get(self, request):
        return render(request, self.template_name, {'context': self.context})

Continue reading

Hyper-v VM을 vSphere에서 실행하도록 변환하기 [스크랩]

[Django 2.1] 시작 – project, app 만들기

Django 2.1 시작 – project, app 만들기.

환경: Python 3.7, Django 2.1, MacOS

1. virtual env 생성
virtual env는 선택사항이지만, 프로젝트별로 설치되는 모듈이 다르므로 사용하면 여러가지 장점이 있다.
원하는 디렉토리로 이동하고 아래 명령어를 실행하면 Django 디렉토리가 생성되며 가상환경을 만들어준다.

$ virtualenv Django
Using base prefix '/usr/local/Cellar/python/3.7.0/Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/snowfox/Documents/Django/bin/python3.7
Also creating executable in /Users/snowfox/Documents/Django/bin/python
Installing setuptools, pip, wheel...done.

이제, 가상환경을 활성화한다. 활성화되면 프롬프트 앞쪽에 가상환경의 이름이 ()와 함께 추가된다.

$ . bin/activate
(Django) $ 

이제, django 프레임워크를 설치해야 한다. pip 명령어로 설치한다.

$ pip install django
Collecting django
  Downloading https://files.pythonhosted.org/packages/54/85/0bef63668fb170888c1a2970ec897d4528d6072f32dee27653381a332642/Django-2.2-py3-none-any.whl (7.4MB)
    100% |████████████████████████████████| 7.5MB 1.5MB/s 
Collecting pytz (from django)
  Using cached https://files.pythonhosted.org/packages/61/28/1d3920e4d1d50b19bc5d24398a7cd85cc7b9a75a490570d5a30c57622d34/pytz-2018.9-py2.py3-none-any.whl
Collecting sqlparse (from django)
  Downloading https://files.pythonhosted.org/packages/ef/53/900f7d2a54557c6a37886585a91336520e5539e3ae2423ff1102daf4f3a7/sqlparse-0.3.0-py2.py3-none-any.whl
Installing collected packages: pytz, sqlparse, django
Successfully installed django-2.2 pytz-2018.9 sqlparse-0.3.0
Continue reading

Cisco 스위치 AAA 설정

Authentication, Authorization, and Accounting (AAA)은 TACAS+, Radius 와같은 프로토콜을 사용하여 인증하는 방식이다.

대부분 시스코 스위치에 로그인하는 경우는 아래처럼 로그인한 후 enable 명령어를 사용하여 모든 명령어를 사용하여 인증하면 모든 명령어에 접근가능하다.

User Access Verification

Username: admin
Password:

Switch>en
Password:
Switch#

AAA를 사용하는경우 특정 권한을 부여하여 아래처럼 enable 상태로 바로 로그인 하도록 설정이 가능하다.

User Access Verification

Username: admin
Password:

Switch#
Continue reading

시스코 WLC 비밀번호 초기화

참고문서:http:// https://www.cisco.com/c/en/us/support/docs/wireless/2000-series-wireless-lan-controllers/71094-wlcm-pwr.html

시스코 WLC(Wireless LAN Controller) 비밀번호를 모를때 초기화(?) 하는 방법으로 중요한것은 WLC 버전이 5.1 이상인지 아닌지가 중요하다.

WLC 버전이 5.1이상인 경우는 정상적으로 부팅하고 Restore-Password 를 입력하면 새로운 사용자 계정을 등록할 수 있다.

WLC 버전이 5.1 이전이면, 비밀번호를 초기화하는 방법은 공장초기화 뿐이며, 이 경우 설정또한 초기화되며 설정은 복구할 수 없으므로 주의해야한다. 초기화 후 다시 구성을 해야한다.