[eve-ng labs.] Juniper 스위치 VRRP 설정.

주니퍼 스위치 VRRP(Virtual Router Redundancy Protocol) 설정하기.

* 작업환경:
eve-ng 커뮤니티 버전, 주니퍼 vEX 스위치.

* 구성 : 아래 그림과 같이 시험환경 구성.

1. 스위치1, 스위치2의 vrrp 설정.

1.1. R1 스위치 설정

L2 스위치와 연결된 인터페이스에 IP 주소와 VRRP설정을한다.

[edit]
root# set interfaces ge-0/0/0 unit 10 family inet address 10.10.1.5/29 vrrp-group 10 virtual-address 10.10.1.1 priority 250 accept-data

Continue reading

[eve-ng labs.] Junos static routing

주니퍼 스위치 static 라우팅 설정.

작업환경: eve-ng, vEX 스위치

구성은 아래 그림과 같음.

1. Router 설정.

하단 스위치와 연결된 인터페이스에 IP 주소를 설정한다.

[edit]
root# set system host-name vEX-Router

[edit]
root@vEX-Router# set interfaces ge-0/0/0 unit 0 family inet address 10.10.1.1/30

[edit]
root@vEX-Router# set interfaces ge-0/0/1 unit 0 family inet  address 10.10.2.1/30

[edit]
root@vEX-Router# commit
commit complete

각 네트워크로 라우팅을 설정한다.

[edit]
root@vEX-Router# set routing-options static route 172.16.100.0/24  next-hop 10.10.1.2

[edit]
root@vEX-Router# set routing-options static route 172.16.200.0/24  next-hop 10.10.2.2

[edit]
root@vEX-Router# commit
commit complete

Continue reading

[eve-ng labs.] Junos 기초.

[eve-ng labs.]주니퍼 junos 기초.

* 시험 환경: eve-ng 커뮤니티 버전, 주니퍼 vEX 스위치.
구성은 아래그림처럼.

junos에서, 설정 및 설정 확인은 set, delete, commit, show 명령어를 이용한다.

set : 설정, 설정 변경
delete : 설정 제거
commit : 변경사항 적용, 저장
show : 설정 확인.

1. 로그인, root 비밀번호 설정 그리고 설정 저장.

부팅후 로그인 ID: root, 비밀번호 없음.

login: root
Last login: Sun Mar 19 08:08:06 on ttyu0

--- JUNOS 23.1R1.8 Kernel 64-bit  JNPR-12.1-20230307.3e7c4b6_buil
root@:~ #

부팅후 아래 메시지 반복됨.

Auto Image Upgrade: To stop, on CLI apply
"delete chassis auto-image-upgrade"  and commit                                 

Auto Image Upgrade: No DHCP Client in bound state, reset all DHCP clients       

Auto Image Upgrade: DHCP INET Client State Reset : fxp0.0                       

Auto Image Upgrade: DHCP INET6 Client State Reset : fxp0.0 

위의 명령어를 실행하려면 root 비밀번호가 설정되어 있어야한다.

cli 모드로(operation mode) 변경

root@:~ # cli

설정 모드(configuration mode)로 변경

root> configure
Entering configuration mode

[edit]
root#

이제, root 비밀번호를 설정한다.

root# set system root-authentication plain-text-password
New password:
Retype new password:

위의 업그레이드 메시지가 반복되지 않도록, 아래 명령어를 실행한다.

[edit]
root# delete chassis auto-image-upgrade

설정을 적용하기 위해 commit 명령을 입력한다.

[edit]
root# commit
commit complete

Continue reading

Ubuntu, python3+Django+Oracle19c(grid) 사용하기.

우분투 리눅스에서 python3, django, oracle 19c 사용하기.

* 작업 환경
OS: ubuntu 22.04
ip address : 172.30.124.211 (오라클 설치된 서버 아님)
python: python3.10.12
oracle client: 설치됨.
django: 5.0.4
Oracle 데이터베이스 : SCAN IP 172.30.124.241, 172.30.124.242,172.30.124.243

* 주의사항
cx_Oracle 패키지를 설치하면 오라클 클라이언트없이 파이썬 스크립트를 작성하고 실행할 수 있다.
하지만 Django 프로그램에서 오라클 데이터베이스를 사용하려면, 오라클 클라이언트가 설치되어 있어야 한다.
오라클 클라이언트 설치는 아래 글을 참고하면 된다.
https://blog.boxcorea.com/wp/archives/3700

1. cx_Oracle 패키지 설치.

(venv) $ pip install cx_oracle
Collecting cx_oracle 
...

2. 테스트 코드 작성

import cx_Oracle

def test_oracle():
    dsn_tns = cx_Oracle.makedsn(host='172.30.124.242', port='1521', service_name='orcl')
    con = cx_Oracle.connect(user='fox', password='fox123', dsn=dsn_tns)
    cur = con.cursor()
    cur.execute('select * from test')
    for i in cur:
        print(i)
    cur.close()
    con.close()


if __name__ == '__main__':
    test_oracle()

코드 실행 결과 이상 없이 잘 실행됨.

(venv) $ python main.py
(2, 'snowfox')
(1, 'poss')

Continue reading

우분투 리눅스에 오라클 클라이언트 설치(rpm 패키지)

Ubuntu 리눅스에 Oracle Client 설치하기 – rpm 패키지로

작업 환경
* 클라이언트:
os: ubuntu 22.04
IP 주소: 172.30.124.211

오라클 데이터베이스 서버:
OS: Oracle Linux 8
오라클 데이터베이스: oracle 19c 그리드환경
서비스 이름: orcl
SCAN-IP 주소: fox-scan (172.20.124.241, 172.20.124.242, 172.30.124.243)

오라클 클라이언트는 데비안 패키지 배포는 지원하지 않으므로, rpm 패키지나 tar 파일을 받아서 설치해야한다.
여기서는 rpm 패키지를 alien 명령으로 설치하도록 한다.

1. 오라클 사이트에서 아래 rpm 패키지를 다운로드한다.

oracle-instantclient-basic-21.13.0.0.0-1.el8.x86_64.rpm    
oracle-instantclient-devel-21.13.0.0.0-1.el8.x86_64.rpm    
oracle-instantclient-sqlplus-21.13.0.0.0-1.el8.x86_64.rpm

sql 명령을 클라이언트측에서 직접 사용할 필요가 없다면 마지막 패키지는 설치하지 않아도 된다.

Continue reading

Grid 환경에서 오라클 데이터베이스 사용

사용할 데이터베이스는 이전글에서 설치한 그리드 환경의 oracle19c 이다.

설치와 설치된 환경은 아래 글 참고.

* 데이터베이스에 접속한다.(그리드 환경의 노드 1 또는 2의 리눅스 oracle계정)

$ sqlplus sys/******@fox-scan/orcl as sysdba


SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 18 14:31:12 2024
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

Continue reading

oracle grid 19c, oracle database 설치

oracle grid 환경에서 oracle database 설치하기.

* 작업환경

각각 VMware VM.

OS: Oracle Linux 8.9
HDD(OS): 100GB
ASM DATA DISK: 50GB x 3( /dev/sdb, /dev/sdc, /dev/sdd 각 50GB)
MEM: 16GB
swap: 16GB

 

1. OS 기본설정 및 사전 준비사항

* selinux 해제

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive

영구 적용을 위해 /etc/selinux/config에 아래 항목을 수정한다.

# vi /etc/selinux/config
...
#SELINUX=enforcing
SELINUX=peremissive
...

* 리눅스 방화벽 해제.

# systemctl stop firewalld
# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

* oracleasm 커널모듈 설치

# dnf install kmod-oracleasm

Continue reading

CentOS 기본 부팅 커널 설정 변경

CentOS 기본 부팅 커널 설정 변경

oracleasm 커널 모듈을 탑재하려고 했으나, 5.x 커널은 지원되지 않는다. 부팅시 커널을 선택하면 되지만, 기본 부팅 커널을 변경해 놓으면 따로 선택하지 않아되 된다.

먼저, 현재 커널 버전을 확인 해 본다.

# uname -a
Linux grid-2 5.15.0-204.147.6.2.el8uek.x86_64 #2 SMP Thu Mar 7 21:48:25 PST 2024 x86_64 x86_64 x86_64 GNU/Linux

grubby 명령어로 현재 설치된 커널을 볼 수 있다.

# grubby --info=ALL | egrep -i "kernel|title"
kernel="/boot/vmlinuz-5.15.0-204.147.6.2.el8uek.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server 8 (5.15.0-204.147.6.2.el8uek.x86_64) "
kernel="/boot/vmlinuz-5.15.0-101.103.2.1.el8uek.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server 8 (5.15.0-101.103.2.1.el8uek.x86_64) "
kernel="/boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server (4.18.0-513.18.1.el8_9.x86_64) 8.9"
kernel="/boot/vmlinuz-4.18.0-477.10.1.el8_8.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server (4.18.0-477.10.1.el8_8.x86_64) 8.8"
kernel="/boot/vmlinuz-0-rescue-4ec77e3bebc1438890ddbdcb1d97051f"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server 8 (0-rescue-4ec77e3bebc1438890ddbdcb1d97051f) "

이제, 아래 명령으로 부팅 기본값을 변경한다.

# grubby --set-default /boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64
The default is /boot/loader/entries/4ec77e3bebc1438890ddbdcb1d97051f-4.18.0-513.18.1.el8_9.x86_64.conf with index 2 and kernel /boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64

변경사항 적용 및 확인을 위해 재부팅한다.

# reboot

재부팅 후 커널 버전 확인해 보면 원하는 커널로 부팅된것을 확인 할 수 있다.

# uname -a
Linux grid-1 4.18.0-513.18.1.el8_9.x86_64 #1 SMP Wed Mar 6 09:34:46 PST 2024 x86_64 x86_64 x86_64 GNU/Linux

참고로, 레드햇 계열 리눅스는 grubby 명령을 사용하지만, 우분투 리눅스처럼 데비안 계열 리눅스는 update-grub2 명령을 사용한다.

시스코 c9200L 스위치 공장초기화 및 OS설치.

시스코 c9200l 스위치 공장초기화 및 복구(OS설치).

설정만 지우려고 했지만, 실수로 공장 초기화를 진행해 버렸다!!!

참고로, factory-reset all 명령은 모든 로그, 사용자정보, 설정, 부팅 이미지를 포함한 모든 IOS 이미지등 모두 지워버려서, 스위치가 부팅되지 않는다.

중간에 취소할 기회가 있었는데, 아래 경고문을 읽어보지 않고 진행을 해 버렸다! ;^^

Switch_5F#factory-reset all 
The factory reset operation is irreversible for all operations. Are you sure? [confirm]
 The following will be deleted as a part of factory reset:
 1: Crash info and logs
 2: User data, startup and running configuration
 3: All IOS images, including the current boot image
 4: User added rommon variables
 5: OBFL logs
 6: Data on Field Replaceable Units(USB/SSD/SATA)
 The system will reload to perform factory reset.
 It will take some time to complete and bring it to rommon.
 You will need to load IOS image using USB/TFTP from rommon after
 this operation is completed.
 DO NOT UNPLUG THE POWER OR INTERRUPT THE OPERATION
 Are you sure you want to continue? [confirm]
Chassis 1 reloading, reason - Factory Reset

 Protection key not found
Switch_5F#Platform Info Send - Switch Config Message LIPC Message Send failed: Broken pipe 
Feb 20 08:57:43.920: %PMAN-5-EXITACTION: F0/0: pvp: Process manager is exiting: reload fp action requested
Feb 20 08:57:44.366: %PMAN-5-EXITACTION: C0/0: pvp: Process manager is exiting: reload cc action requested
Feb 20 08:57:48.568: %PMAN-5-EXITACTION: R0/0: pvp: Process manager is exiting: rp processes exit with reload switch code


Enabling factory reset for this reload cycle
 Switch booted with flash:packages.conf 
 Switch booted via packages.conf 
% FACTORYRESET - Started Cleaning Up...
 
% FACTORYRESET - Unmounting sd1
% FACTORYRESET - Cleaning Up sd1 [0]
% FACTORYRESET - erase In progress.. please wait for completion...
% FACTORYRESET - write zero...
% FACTORYRESET - finish erase
 
% FACTORYRESET - Making File System sd1 [0]
mke2fs 1.43-WIP (18-May-2015)
Discarding device blocks:   4096/204800             done                            
Creating filesystem with 204800 4k blocks and 51296 inodes
Filesystem UUID: 97abf68b-5e65-4b4d-bcad-4397e3367531
Superblock backups stored on blocks: 
32768, 98304, 163840

Allocating group tables: 0/7   done                            
Writing inode tables: 0/7   done                            
Writing superblocks and filesystem accounting information: 0/7   done
% FACTORYRESET - Mounting Back sd1 [0]
% FACTORYRESET - Factory Reset Done for sd1
 
% FACTORYRESET - Unmounting sd3
% FACTORYRESET - Cleaning Up sd3 [0]
% FACTORYRESET - erase In progress.. please wait for completion...
% FACTORYRESET - write zero...
% FACTORYRESET - finish erase
 
% FACTORYRESET - Making File System sd3 [0]
mke2fs 1.43-WIP (18-May-2015)
Discarding device blocks:   4096/485376             done                            
Creating filesystem with 485376 4k blocks and 121440 inodes
Filesystem UUID: 132f9efb-4852-46af-86bd-9ee7c420f8e5
Superblock backups stored on blocks: 
32768, 98304, 163840, 229376, 294912

Allocating group tables:  0/15     done                            
Writing inode tables:  0/15     done                            
Writing superblocks and filesystem accounting information:  0/15     done
% FACTORYRESET - Mounting Back sd3 [0]
% FACTORYRESET - Factory Reset Done for sd3
 
% FACTORYRESET - Unmounting sd6
% FACTORYRESET - Cleaning Up sd6 [0]
% FACTORYRESET - erase In progress.. please wait for completion...
% FACTORYRESET - write zero...
% FACTORYRESET - finish erase
 
% FACTORYRESET - Making File System sd6 [0]
mke2fs 1.43-WIP (18-May-2015)
Discarding device blocks:   1024/131072             done                            
Creating filesystem with 131072 1k blocks and 32768 inodes
Filesystem UUID: b378204e-35c9-45e9-8fd1-cb36874f91bf
Superblock backups stored on blocks: 
8193, 24577, 40961, 57345, 73729

Allocating group tables:  0/16     done                            
Writing inode tables:  0/16     done                            
Writing superblocks and filesystem accounting information:  0/16     done
% FACTORYRESET - Mounting Back sd6 [0]
% FACTORYRESET - Factory Reset Done for sd6
% FACTORYRESET - Lic Clean UP
% FACTORYRESET - Lic Clean Successful...
% FACTORYRESET - Clean Up Successful...
% FACTORYRESET - Check for usbflash/sdflash devices...
ReloadReason=Factory Reset
Factory reset successful. Rebooting...

Initializing Hardware...
NOTICE: Please reset the device for the new MAC_ADDR value to take effect.


System Bootstrap, Version 17.9.1r [FC13], RELEASE SOFTWARE (P) 
Compiled Thu 06/08/2023 20:36:25 by rel

Current ROMMON image : Primary
C9200L-48P-4X platform with 2097152 Kbytes of main memory

WARNING: Bootable URL's in BOOT variable not found or exhausted.
         Please check the ROMMON configuration or boot command usage.

switch:

Continue reading

익스트림 스위치 dhcp 서버 설정.

Extreme switch에 dhcp servcer 설정하기

사용한 스위치는 x430-48t 이며, 현재 VLAN은 아래와 같다.

* X430-48t.13 # show vlan
-----------------------------------------------------------------------------------------------
Name            VID  Protocol Addr       Flags                         Proto  Ports  Virtual   
                                                                              Active router
                                                                              /Total
-----------------------------------------------------------------------------------------------
Default         1    ------------------------------------------------- ANY    0 /0   VR-Default 
dhcp_test       100  172.16.100.1   /24  ----------------------------- ANY    0 /12  VR-Default 
Mgmt            4095 ------------------------------------------------- ANY    0 /1   VR-Mgmt    
-----------------------------------------------------------------------------------------------
Flags : (B) BFD Enabled, (c) 802.1ad customer VLAN, (C) EAPS Control VLAN,
        (d) Dynamically created VLAN, (D) VLAN Admin Disabled,
        (e) CES Configured, (E) ESRP Enabled, (f) IP Forwarding Enabled,
        (F) Learning Disabled, (h) TRILL Enabled, (i) ISIS Enabled,
        (I) Inter-Switch Connection VLAN for MLAG, (k) PTP Configured,
        (l) MPLS Enabled, (L) Loopback Enabled, (m) IPmc Forwarding Enabled,
        (M) Translation Member VLAN or Subscriber VLAN, (n) IP Multinetting Enabled,
        (N) Network Login VLAN, (o) OSPF Enabled, (O) Flooding Disabled,
        (p) PIM Enabled, (P) EAPS protected VLAN, (r) RIP Enabled,
        (R) Sub-VLAN IP Range Configured, (s) Sub-VLAN, (S) Super-VLAN,
        (t) Translation VLAN or Network VLAN, (T) Member of STP Domain,
        (v) VRRP Enabled, (V) VPLS Enabled, (W) VPWS Enabled, (Z) OpenFlow Enabled

Total number of VLAN(s) : 3 

dhcp_test vlan에 dhcp 서버를 설정한다.

주의 사항: VLAN 이름을 사용하지 않고 VLAN ID를 사용하면 dhcp 설정을 할 수 없다.

1. DHCP를 적용할 포트, VLAN을 설정한다.

* X430-48t.14 # enable dhcp ports 1-12 vlan "dhcp_test" 

Continue reading