자바스크립트에서는 setTimeOut 메소드를 이용하여 일정 시간 뒤 로직을 실행시킬 수 있지만,

백단 자바에서는 timeTask를 써야한다.

 

예제는 아래와 같다.

ExampleTimer.java 파일을 만든 뒤 아래의 코드를 작성.

 

package com.timer.ex;

import java.util.Timer;
import java.util.TimerTask;
 
public class ExampleTimer {
 
    private Timer timer;
    
    //task 클래스 생성
    public class TaskToDo extends TimerTask {
        int count=0;
        
        @Override
        public void run() {
            System.out.println(count + "th " + "Task Done!");
            count += 1;
        }
    }
    /////////////////////
    
    
    //setTimer 메소드 선언
    public void setTimer(long delay, long period) {
        timer = new Timer();
        timer.schedule(new TaskToDo(), delay, period);
    }
    //////////////
    
    public static void main(String args[]) {
        
        ExampleTimer exampleTimer = new ExampleTimer();
        exampleTimer.setTimer(2000, 1000); //처음에 2초 뒤에 시작. 1초간격으로 실행
    }
}
 

 

setTimer가 (2000, 1000) 이므로 처음에 2초 있다가 시작하며 console에 초당 카운트가 되는것을 볼수 있다.

0th Task Done!
1th Task Done!
2th Task Done!
3th Task Done!
4th Task Done!
5th Task Done!

 

네트워크관리사 2급 자격증은 60점 이상 받으면 취득할수 있습니다.

 

 

 

다른 사람들은 실기가 필기보다 쉬웠다고 하지만, 저는 실기가 조금 더 어려운 것 같습니다.

 

단답형9문제 뒤에 모두 골라라 문제는 어려워서 시간이 없다면 리눅스 명령어를 제외하곤 패스하시는게 좋을 거 같습니다.

 

라우터 설정과 Window 2008 server, 랜선만들기는 2번 정도 복습하여 거의 만점이 나온 것 같습니다.

 

굳이 책 살 필요없고 햄릿슈 채널을 보고 그대로 따라하시는게 좋을 거 같아요.

 

 

-3%가 뜨면 우선 주식매도

 

한달내로 -3%가 뜨면 또 한달 기다림.

 

만약 한달 1~30 까지 -3% 4개가 뜨면 공황임.

 

고점대비 -30%에 자산의 30%투입,

 

-40%에 자산 30% 투입

 

그리고 -50%근처에가면 나머지 투입

 

또는

 

2달동안 -3%가 안뜨면 3달째 첫날 진입

한달이라도 또 -3%가뜨면 2달을 더 기다림 

라우터 설정 문제

 

기본 설정 명령어

enable / en 관리자 모드로 --> Router#
configure terminal / conf t 관리자 모드에서 설정모드로 --> Router(config)#
hostname 이름 호스트 이름 명명
login 로그인 명령
exit 이전모드로 돌아감
end 무조건 관리자 모드로 돌아감
line console 0 / li c 0 콘솔라인 모드 전환 명령
line vty / li v 0 4 텔넷 등 가상 터미널 전환 명령
enable password 암호명 관리자모드로 엑세스할 때 암호 설정(암호화되지 않고 저장)
enable secret 암호명 관리자모드로 엑세스할 때 암호 설정(암호화되어 저장)
erase startup-config 라우터 설정 명령을 지우고 초기화
clock set 시간 장비의 시간을 설정할 때 사용
exec-timeout 시간 / exec-t 시간 콘솔 종료대기 시간변경(exec-timeout 0 0: 종료시간 없음)
copy r s 라우터 셋팅 내용을 NVRAM에 저장

 

확인 명령어

show clock 라우터에 설정된 시간을 확인
show version IOS의 버전정보 확인과 S/W, H/W정보 확인
show startup-config NVRAM 정보 확인
show config 라우터 장비설정의 저장내용을 확인하는 명령
show run 설정된 인터페이스 확인
show ip interface brief 인터페이스 정보 확인
show history 사용했던 전체 명령어 확인
show ip route 라우팅 테이블 확인
show flash 플래쉬 확인
show process

프로세스 정보확인

 

1. Router1의 CPU process 리스트를 확인하시오.

(완료된 설정은 'Router#copy running-config startup-config'를 사용하여 startup-config'에 저장하고 이외 저장 명령어는 사용금지)

 

en

show process

copy r s

엔터

 

Router> en                            //enable이라는 뜻
Router# show process                   //입력 후 more가 나오면 쭉 엔터
Router# copy r s                       // 저장
Destination filename [startup-config]?  //엔터 눌러준다.
Building configuration... [OK]

 

2. RIP 환경이 구성되어 있을 때 라우팅 테이블에 등록되지 않는 목적지로 향하는 패킷은 192.168.1.1 네트워크로 보내도록 ROUTER1에 디폴트 네트워크를 설정하시오.

(단, ip route 0.0.0.0 명령어를 사용해서는 안됨.)

 

 

en

conf t

ip default-network 192.168.1.1

exit

copy r s

엔터

 

 

 

 

참고로 default-network뿐만아니라 default-gateway도 많이쓰입니다.

 

 

3. 아래의 제시문제와 같이 ROUTER1의 FastEthernet 0/0의 IP Address를 아래와 같이 설정하고 활성화 하시오.

(완료된 설정은 'Router#copy running-config startup-config'를 사용하여 startup-config'에 저장하고 이외 저장 명령어는 사용금지)

 

IP Address: 192.168.100.1/24

 

 

en

conf t

int fastethernet 0/0

ip add 192.168.100.1 255.255.255.0

no shutdown   <<활성화

exit

exit

copy r s 

엔터

 

 

4. 호스트 이름을 'ICQA'로 설정하시오.

en

conf t

hostname ICQA

exit

copy r s

 

 

5. 인터페이스 정보를 확인하고 저장하시오.

 

en

show interface

copy r s

 

 

 

6. 접속한 사용자를 확인하고 저장하시오.

 

en

show user

copy r s

 

 

7. 라우팅 테이블을 확인하고 저장하시오.

 

en

show ip route

copy r s

 

8. 플래쉬를 확인하고 저장하시오.

 

en

show flash

copy r s

 

9. 아래와 같이 Router1의 Ethernet 0 인터페이스를 설정하고, NVRAN에 저장하시오.

---------------

Router#show running-config

Building configuration...

Using #### out of #### bytes

!

version ##.#

!

Interface Ethernet 0

ip address 192.168.200.2 255.255.255.252

ip directed-broadcast

!

---------------

 

en

conf t

int e0

ip add 192.168.200.2 255.255.255.252

ip directed-broadcast

exit

exit

copy r s

 

10. serial 0의 대역폭을 2048k로 설정하고, NVRAM에 저장하시오.

 

Router> en

Router# conf t

Router(config)# int s0

Router(config-if)# ban 2048

Router(config-if)# exit

Router(config)# exit

Router# copy r s

 

11. serial 0의 clock rate를 72k로 설정하고, NVRAM에 저장하시오.

 

Router> en

Router# conf t

Router(config)# int s0

Router(config-if)# clock rate 72000

Router(config-if)# exit

Router(config)# exit

Router# copy r s

 

12. Ethernet 0의 description을 설정하고 NVRAM에 저장하시오.

Description : ICQA

 

Router> en

Router# conf t

Router(config)# int e0

Router(config-if)# des ICQA   <<description 설정

Router(config-if)# exit

Router(config)# exit

Router# copy r s

 

13. Ethernet 0의 IP Address를 192.168.2.1/30과 192.168.3.1/30 Secondary로 설정하고 저장하시오.

 

Router> en

Router# conf t

Router(config)# int e0

Router(config-if)# ip add 192.168.2.1 255.255.255.252

Router(config-if)# ip add 192.168.3.1 255.255.255.252 secondary

Router(config-if)# exit

Router(config(# exit

Router# copy r s

 

14. Default-Gateway를 설정하고, 저장하시오.

IP : 192.168.0.10

 

Router> en

Router# conf t

Router(config)# ip default-gateway 192.168.0.10

Router(config)# exit

Router# copy r s

 

15. Router1 Telnet에 접근하는 Password를 "TELPass"로 설정하고, 상태를 저장하시오.

 

Router> en

Router# conf t

Router(config)# li v 0 4

Router(config-line)# password TELPass

Router(config-line)# login

Router(config-line)# exit

Router(config)# exit

Router# copy r s

 

16. Telnet에 5분 50초 동안 신호가 없을 시 해당 세션을 자동으로 종료하도록 라우터를 설정하시오.

 

Router> en

Router# conf t

Router(config)# li v 0 4

Router(config-line)# exec-t 05 50

Router(config-line)# login

Router(config-line)# exit

Router(config)# exit

Router# copy r s

 

17. Router1 console의 패스워드를 ICQACon으로 설정하고, 저장하시오 (대소문자는 구분한다.)

 

Router> en

Router# conf t

Router(config)# li c 0

Router(config-line)# login

Router(config-line)# password ICQACon

Router(config-line)# exit

Router(config)# exit

Router# copy r s

 

18. Router2의 Interface Serial 0을 활성화 시키고 저장하시오.

 

Router> en

Router# conf t

Router(config)# int s0

Router(config-if)# no sh

Router(config-if)# exit

Router(config)# exit

Router# copy r s

 

19. Hostname을 network2로 변경하고, Console 0의 Password를 route5로 변경하고 login하라.

 

Router> en

Router# conf t

Router(config)# host network2

network2(config)# li c 0

network2(config-line)# password route5

network2(config-line)# login

network2(config-line)# exit

network2(config)# exit

network2#copy r s

 

20. domain-name을 'DOMAIN'으로 설정하고 저장하시오.

 

Router> en

Router# conf t

Router(config)# ip domain-name DOMAIN

Router(config)# exit

Router# copy r s

 

21. DHCP 네트워크를 192.168.100.0/24 서버이름은 'icqa'로 설정하시오.

 

Router> en

Router# conf t

Router(config)# ip dhcp pool icqa

Router(dhcp-config)# network 192.168.100.0 255.255.255.0 

Router(dhcp-config)# exit

Router(config)# exit

Router# copy r s

 

네트워크관리사 실기 정리 (2)- TCP/IP, 리눅스, 신경향 문제

 

10번 부터 15번까지의 문제로써 단답형 또는 보기가 주어지는 문제입니다.

 

단답형 문제

* ICQA 예제에 나오는 문제

 

10.

 (A)는 시스템의 상태정보나 데이터를 그래프로 그려주는 일종의 그래픽 툴이다.

 - 대부분의 ISP는 (A)를 이용하여 네트워크 장비의 트래픽 처리능력과 동작상태를 모니터링하고 있다.

- (A)는 설치하기가 쉽고 수치적인 데이터를 시각적으로 출력해주면 freeware이기 때문에 모니터링 장비가 많지 않고 값비싼 NMS 솔루션 대신에 많이 사용한다.

- script에 익숙하다면 SNTP로 읽을 수 있는 데이터 외에 시스템과 관련된 다양한 정보를 그래픽으로 출력할 수 있다.

 

정답:

더보기

MRTG (Multiple Traffic Grapher)

 

11.

 

정답:

더보기

A: ip spoofing

B: ssh

 

12.

정답:

더보기

190.87.140.207

 

풀이는 아래 아이디구하기 참조

 

13.

 

정답:

더보기

history -c

 

숫자 : 최근 사용한 명령어를 숫자만큼 출력한다.

-c : 모든 히스토리를 삭제한다.

-d offset : 히스토리 리스트 중 삭제하고 싶은 오프셋(offset)을 지정하여 삭제한다.

-w 파일명 :현재 히스토리 내용을 지정한 파일에 저장한다.

-r 파일명 : 히스토리 파일을 읽어서 출력한다.

-a 파일명 : 지정한 히스토리 파일에 현재 로그인 섹션의 히스토리를 추가한다.

-n 파일명 : 지정한 히스토리 파일 목록을 다시 읽는다.

 

14.

 

정답:

더보기

보기3) 128비트

 

15.

 

 

정답:

더보기

25: SMTP

80: HTTP

22: SSH

69: TFTP

53: DNS

161: SNMP

 

 

* 기출문제

 

1. 아래의 설명과 관련된 네트워크 기술은 무엇인가?

-------------

외부에 공개된 웹 서비스로 HTTP, HTTS 프로토콜에 대한 보안 능력이 미흡하다.

 

IPS는 웹 보안에 대해서는 패킷 필터링 방식의 한계로 인해 검사 정확도 결여 및 SSL 통신에 대해 검사가 불가능하므로 웹 보안에 취약하다.

 

웹 어플리케이션의 취약점을 이용한 홈페이지 변조. 사용자 ID 도용. 관리자 권한 획득 및 중요정보 획득 가능성

-----------------

정답: 

더보기

웹방화벽 (Web Application Firewall)

 

 

2. 아래의 설명과 관련된 네트워크 기술은 무엇인가?

--------------------

최단 경로 우선 프로토콜은 인터넷 프로토콜 네트워크를 위한 링크 스테이트 라우팅 프로토콜이다. 링크 스테이트 라우팅 알고리즘을 사용하며 하나의 자율 시스템(AS)에서 동작하면서 내부 라우팅 프로토콜의 그룹에 도달한다.

--------------------

정답:

더보기

OSPF(Open Shortest Path First)

 

 

!!아이디 구하기 중요

3. IP와 서브넷 마스크 정보를 바탕으로 네트워크 ID(IP)를 구하시오.

172.150.72.1  /  255.255.224.0

 

 

풀이 및 정답:

더보기

풀이)

255.255.224.0의 224를 256에서 빼준다.

256-224=32 한그룹이 32개라는 것을 알 수 있다.

그렇다면

0~31

32~63

64~95

96~127

...

이렇게 진행되게 되는데

보기가 72 이므로 64~95그룹에 속하게 된다. 그렇다면 3번째 아이피는 64가 된다.

그리고 마지막은 0으로 비워둔다.

 

정답)

172.150.64.0

 

 

4. 서브넷 마스크를 보고 네트워크 아이디를 구하라.

 

172.168.100.2 / 19

 

풀이 및 정답:

더보기

뒤의 서브넷 마스크를 이진수로 나타내면

11111111.11111111.11100000.00000000 이 된다.

즉 3번째 ID는 128+64+32 = 224 이다.

 

4번 문제와 같이 256에서 빼주면

256 - 224 = 32

 

0~31

32~63

64~95

96~127

 

100은 96~127 범위에 속하므로 ID는 96이 된다.

 

정답)

172.168.96.0

 

5. 호스트들의 IP중에서 네트워크 ID에 해당하는 값을 입력하시오.

 

162.128.1.1/18

162.128.1.2/18

more

162.128.1.253/18

162.128.1.254/18

 

 

풀이 및 정답:

더보기

서브넷마스크 18은 16~23의 범위에 있다. 따라서 앞의 2개의 아이디가 변하지 않기 때문에 네트워크 ID가 된다.

 

정답)

162, 128

 

(만약 네트워크 ID를 물어봤다면 162.128.0.0)

 

 

!!리눅스 문제

6. 리눅스에서 IP address 정보를 확인하는 명령어는?

 

정답:

더보기

ifconfig

 

(윈도우는 ipconfig)

 

7. 리눅스에서 파일이나 폴더를 찾을 때 사용하는 명령어는 무엇인가?

 

정답:

더보기

find

 

8. 리눅스에서 현재 설치된 하드디스크와 용량을 확인하는 명령어는 무엇인가?

 

정답:

더보기

df

(단순 용량을 확인하는 명령어 du와 헷갈리지 않도록 한다.)

 

9. 리눅스에서 현재 위치를 확인하고 싶을 때 사용하는 명령어는 무엇인가?

 

정답:

 

10. 리눅스에서 도움말-메뉴얼을 확인하는 명령어는 무엇인가?

 

정답:

 

11. 리눅스에서 포트/프로토콜 정보를 확인할 수 있는 명령어는 무엇인가?

 

정답:

더보기

etc/services

 

12. 다음 설명에 해당하는 Class는?

 

할당가능 네트워크 주소는 2^14개이다.

할당가능 호스트 주소 수는 2^16개이다.

(앞의 식별코드 2비트는 네트워크 주소에서 제외된다.)

 

정답:

더보기

A 클래스: 

할당가능 네트워크 주소는 2^7개

할당가능 호스트 주소 수는 2^24개

 

B클래스:

할당가능 네트워크 주소는 2^14개

할당가능 호스트 주소 수는 2^16개

 

C클래스:

할당가능 네트워크 주소는 2^21개

할당가능 호스트 주소 수는 2^8개

 

 

정답)

B클래스

 

13. 다음이 설명하는 네트워크 기술은?

 

인터넷망과 같은 공중망을 사설망처럼 이용해 회선비용을 크게 절감할 수 있는 기업통신 서비스

 

정답:

더보기

VPN (가상사설망)

 

14. IDS(침입탐지시스템)는 크게 오용탐지와 비정상행위탐지 두가지로 분류된다.

오용탐지에 해당하는 특징은 무엇인가?

 

정답:

더보기

새로운 침입유형은 탐지가 불가능.

비정상행위를 정의하고 이에 대항하는 행동을 찾는다.

 

15. 네트워크에서 공격 서명을 찾아내어 자동으로 모종의 조치를 취함으로써 비정상적인 트래픽을 중단시키는 보안솔루션.

수동적인 방어 개념의 IDS와 달리 침입경고 이전에 공격을 중단시키는데에 초점을 두었다.

비정상행위를 통제할 수 있다.

 

정답:

더보기

IPS (침입차단시스템)

 

16. 네트워크 스위치의 어떤 한 포트에서 보이는 모든 네트워크 패킷 혹은 전체 VLAN을 모든 패킷들을 다른 모니터링 포트로 복제하는데 사용되는 것은?

 

정답)

더보기

포트 미러링

 

17. IP주소를 사용하는 것의 낭비를 막기 위해 모든 호스트에 공인 IP주소를 설정하는 대신, 내부적으로 사설 IP를 설정하여 사용하고, 인터넷에 접속할 때에만 공인 IP로 변환하는 기술.

 

정답)

 

 

17. 2개이상의 다른, 혹은 같은 종류의 통신망을 상호 접속하여 통신망 간 정보를 주고 받을 수 있게하는 기능의 단위 또는 장치

 

 

정답)

더보기

게이트웨이

 

18. 데이터링크 계층 중 MAC계층에서 일하며 두 세그먼트 사이에서 데이터링크 계층 간의 패킷 전송을 담당하는 장치는?

 

 

정답:

더보기

브릿지

 

19. 매니지먼트와 에이전트 사이에서 관리정보를 주고 받기 위한 프로토콜은?

 

 

정답:

더보기

SNMP

 

20. TCP/IP기반 네트워크 상에서 서버나 라우터가 에러나 예상치 못한 사건들을 보고할 목적으로 만들어진 프로토콜로 RFC792에 정의되어 있는 프로토콜은 무엇인가?

 

정답:

더보기

ICMP

 

21. 동적디스크 볼륨 중 볼륨자체에서 하나의 디스크 손상 시 다른 하드디스크의 data로 손상된 부분을 복구할 수 있는 내결함성을 지원하는 볼륨. 해당 볼륨의 종류는 RAID1과 RAID 0+1이 있다.

이 기술의 이름.

 

정답:

더보기

미러링

 

22. 임의로 구성된 웹사이트를 통하여 이용자의 정보를 빼가는 해킹수법의 하나는?

 

정답:

더보기

스푸핑

 

23. 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있게 해주는 응용프로그램 또는 그 프로토콜을 의미한다.

 

정답:

 

24. '스위칭'이라는 LAN기술을 기반으로 물리적 시간만 고려되었던 LAN분야에 가상이라는 개념을 도입한 것이다. 네트워크 구성에 대한 지리적 제한을 최소화하면서 사용자가 원하는 최대한의 논리적인 네트워크를 구성할 수 있도록 수단을 제공한다.

 

정답:

더보기

VLAN, 가상랜

 

25. 서브넷마스크 255.255.224.0 주소를 기주능로 했을 때, 사용 가능한 서브넷 수는 몇 개인가?

 

정답:

더보기

256-224 = 32

256 / 32 = 8

 

정답)

8개

 

 

26. 이미 발견되어 있는 공격 패턴을 미리 입력해두고, 해당하는 패턴을 탐지하는 기법.

알려진 기법 이외에는 탐지할 수 없기 때문에 새로운 공격에는 비효율적이다.

다른 말로 signature base나 knowledge base로 불리운다.

 

정답:

더보기

오용 탐지 기법

 

 

 

 

 

선택형 문제

 

1. 아래에 제시된 내용은 IPv6에 대한 내용이다. A, B, C, D에 알맞은 보기를 선택하시오.

 

IPv6

(A) 비트 X (B)개 = 128bit

표현: (C)진수

유니캐스트, 멀티캐스트, (D)

 

보기

1) 8, 8, 16, 애니캐스트

2) 8, 16, 10, 브로드캐스트

3) 16, 8, 16, 애니캐스트

4) 16, 16, 10, 브로드캐스트

 

정답:

더보기

3번

 

IPv6은 16비트에 8자리 해서 128비트

IPv4는 8비트에 4자리 해서 32비트

 

 

 

 

2. 아래 제시된 프로토콜 TCP/IP 4계층의 인터넷 계층에 해당되는 것을 모두 선택하시오.

 

1) ATM

2) TCP

3) ARP

4) ICMP

5) SMTP

6) FTP

7) UDP

8) IGMP

 

정답:

더보기

3, 4, 8

TCP/IP 4계층

1: 네트워크 액세스 계층  (OSI7의 물리, 데이터링크 계층) -> 리피터, 허브, ISDN, ATM, HDLC, FDDI, WIFI 

2: 인터넷 계층 (OSI7의 네트워크 계층) -> IP, ICMP, IGMP, ARP, RARP, RIP

3: 전송 계층(OSI7의 전송계층) -> TCP, UDP

4: 응용 계층(OSI7의 응용, 표현, 세션 계층) -> FTP, Telnet, DNS, TFTP, SNMP, HTTP, POP3, DHCP, BOOTP, NetBIOS, TLS, SSH

 

3. 아래 보기 중 UDP 프로토콜의 특징에 해당하는 것을 모두 선택하시오.

 

1. 신뢰성

2. 비신뢰성

3. 연결형

4. 비연결형

5. 순서형

6. 비순서형

 

정답:

더보기

2, 4, 6

 

4. IP멀티캐스트를 실현하기 위한 통신 규약으로 RFC 1112에 규정되어 있으며 LAN상에서 라우터가 멀티캐스트 통신을 구비한 PC에 대해 멀티캐스트 패킷을 분배하는 경우에 사용된다.

 

1. UDP

2. TCP

3. ARP

4. RARP

5. ICMP

6. IGMP

7. Telnet

8. FTP

 

정답:

더보기

6. IGMP  (Internet Group Management Protocol)

 

5. 인터넷 웜 등의 악성코드 및 해킹 등을 통한 침입이 일어나기 전에 실시간으로 침입을 막고 알려지지 않은 방식의 침입으로부터 네트워크와 호스트 컴퓨터를 보호하는 솔루션

1. 방화벽

2. SQL인젝션

3. IDS

4. 웹어플리케이션방화벽

5. XSS

 

정답:

더보기

웹어플리케이션방화벽 (WAF)

 

 

 

 

네트워크관리사 실기는 다른 실기시험과 같이 60점이상을 맞아야 합격입니다.

이번 포스팅에서는 케이블제작, Windows 2008 Server에 대해 다루도록 합니다.

이미지들은 햄릿슈TV 유튜브를 참조하였습니다.

 


1) 다이렉트 케이블 만드는 문제 (배점: 6.5점)

다이렉트 케이블 순서

랜케이블을 커트기를 이용해 벗긴다음 꼬여있는 선을 풀어 위 순서에 따라 커넥터에 꽂아 넣습니다.

 

순서 색깔은 아래와 같습니다.

주띠 -> 주 -> 녹띠 -> 파랑-> 파띠-> 녹-> 갈띠->갈

 

크로스배열은 거의 안나온다고 보면 됩니다. 다이렉트만 외우도록 합니다.

 

작업이 완료되면 스티커를 붙여 제출합니다.


- Windows 2008 server R2 (배점: 5.5점 x 8문제 = 44점)

2) IP Address와 Subnet Mask 설정

 

IP Address: 11000000 10101000 01100100 00011011

Subnet Mask: 24bit

 

1인 부분을 2진수로 구해서 각각 더한다. 0인 부분은 무시한다.

128+64 . 128+32+8 . 64+32+4 . 16+8+2+1

 

정답)

IP주소: 192.168.100.27

 

IPv4 속성 들어가서 주소에 위IP를 적고, 서브넷마스크는 255.255.255.0을적는다.

(서브넷 마스크가 32비트면 255.255.255.255, 16비트면 255.255.0.0을 적는다.)

 

서브넷마스크가 22비트 일시, 2를 2진법 뒤에서 부터 계산한후 255에서 빼준다.

 

즉, 255 - 2x1 - 1x1 = 252

 

22비트 서브넷 마스크 = 255.255.252.0

 

같은 원리로 21비트 서브넷 마스크는 255 - 4x1 - 2x1 - 1x1 = 248

 

21비트 서브넷 마스크 = 255.255.248.0

 

문제에서는 기본 게이트웨이, DNS주소 서버를 입력하는 것이 안나오기 때문에

그것은 건드리지 않는다.


3) Web Server 설정 문제

 

아래의 순서대로 한다.

 

사이트에서 오른쪽 클릭해서 웹사이트 추가

- 사이트이름에 ICQA 입력

- 실제경로에 D:\web 입력

- IP주소에 211.111.144.240 입력, TCP포트에 8080입력

- 확인 클릭

 

그 뒤 'IP주소 및 도메인 제한'에 더블클릭하여 들어감

오른클릭 후 허용항목 추가

 

위에는 211.111.100.0 입력

아래는 255.255.255.0 입력

 

밖으로 나간뒤 저장하기 눌러서 저장확인


4) 서비스 설정

 

서비스 목록 중 World wide web 부분을 더블클릭

 

중지 클릭

그리고 시작유형을 사용안함으로 변경

 

확인 누르고 x버튼 누름.


5) DHCP 설정

 

IPV4에서 새범위 추가

 

이름과 설명에 문제에 있는대로 기입하고 다음

시작 IP주소, 끝 IP주소, 길이 를 입력하고 다음

제외 IP 주소 입력

문제에서 192.168.100.1 ~ 10 이므로

앞에 192.168.100.1입력, 그 뒤에 192.168.100.10 입력 후 추가

그리고 다음 클릭

임대기간에 6시간 입력 후 다음

그 뒤 구성이 다 끝났으면 아니오. 체크하고 다음

그리고 엑스 눌러서 저장


6) DNS 설정

역방향 조회영역에서 "마우스 오른쪽" 클릭해서 새영역 추가

 

새영역 마법사 시작에서 다음.

체크되어있는 주영역에 두고 다음.

 

영역에는 icqa.or.kr 입력 후 다음.

 

다음 이름으로 새 파일 만들기에서 다음 클릭.

동작업데이트에서 다음 클릭.

새영역 마법사 완료에서 마침 클릭.

 

icqa.or.kr 추가 된것 확인

 

icqa.or.kr 오른 클릭하여 속성에 들어감

DOA권한 시작 탭 누름.

 

일련번호(serial number)에 12 입력.

주서버는 SOA 뒤에 있는 ns.icqa.or.kr 입력.

책임자는 master.icqa.or.kr 입력.

 

새로고침(refresh) 간격 900초 입력.

다시시도(retry) 간격 600초 입력.

다음날짜 이후에 만료(expire) 86400초 입력.

최소(기본값) TTL 7200초 입력 후 확인

다시 iqca.or.kr 오른 클릭해서 새호스트에 들어감. (새별칭 아님)

 

새호스트 창에서 위에 mail, IP주소에 211.111.144.241 입력 후 호스트 추가.

그뒤 network도 211.111.144.240으로 추가

그리고 엑스 눌러서 창 닫음.

 

호스트가 아닌 별칭, CNAME도 나올 수 있으므로 염두해두어야함.

 


7) 보안옵션 설정

 

아래 보안옵션에 들어가서 이름 바꾼다.

그 아래 게스트 계정 사용안함으로 변경하고 확인


8) FTP 추가

 

사이트에서 FTP사이트 추가

사이트이름 ICQA-FTP2 입력.

실제 경로 C:\ 입력 하고 다음.

 

IP주소와 포트 입력 후 다음

 

그리고 설정값이 없으니 다음.

 

생성된 사이트 오른 클릭해서 FTP사이트 관리 > 고급 설정 들어간다.

 

데이터 채널 시간 제한, 소켓풀링 사용안함을 true, 최대동시 연결수 20으로 입력

엑스 눌러서 나온다.


9) 스케줄러 추가

 

오른 클릭 후 작업만들기 클릭

 

동작탭 > 새로만들기 추가

동작에서 전자메일 보내기 선택

 

 

 

 

10번부터 15번까지는 리눅스 TCP/IP 등 단답형 문제입니다.

 

 

 

에러 java.sql.Timestamp cannot be cast to java.lang.String

 

DB에 timestamp 타입의 열을 만들면 자바에서 위의 에러를 뱉어낼 때가 있다.

 

이럴때는 쿼리문 또는 자바에서 데이트포맷을 변경해주어야 한다.

 

예를 들어 xml파일에 아래의 쿼리문을 입력하면

 

SELECT MEMBER_ID, MEMBER_PASS, LOGIN_DATE
FROM MEMBER

 

LOGIN_DATE의 데이터타입이 timestamp라면 java.sql.Timestamp cannot be cast to java.lang.String 에러를 띄우게 되는데 그때는 아래의 쿼리문으로 바꾸면 된다.

SELECT MEMBER_ID, MEMBER_PASS,
DATE_FORMAT(LOGIN_DATE, '%Y-%m-%d %H:%i:%s') AS LOGIN_DATE
FROM MEMBER

 

march, june같은 영어 월로 바꾸려면 %m을 %M으로 바꾸면된다.

 

또한 2020-07-08 08:20:05  <<이런 데이터를 15914634~~같은 UNIX타입으로 변화시키려면 아래 자바코드를 이용한다.

 

import java.util.Date

//String으로 되어 있는 날짜를 UNIX타입으로 저장
java.sql.Timestamp date_timestamp01 = java.sql.Timestamp.valueOf(date_string);

long date_timestamp02 = date_timestamp01.getTime(); //date_timestamp02의 값은 159823~~~값을 가진다.


//현재 시간을 UNIX타입 으로 저장하는 코드
Long now01 = System.currentTimeMillis();


//현재 시간을 yyyy-MM-dd HH:mm:ss 포맷으로 저장하는 코드
Date now = new Date(); //Date타입으로 변수 선언
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //데이트 포맷
String date_string = dateFormat.format(now); //날짜가 string으로 저장

리눅스 파티션 설정 resize, resizepart

 

리눅스VM에서는 특정 폴더의 용량을 잡아 놓기 때문에 디스크용량을 늘리는 것이 필요하다.

 

아래 명령어를 쳐서 디스크용량을 확인해보자

$ df -h

541G로 용량이 꽉차서 Avail 용량이 0이다.

 

VG1-LV1이란 것은 볼륨그룹1의 논리볼륨1이라는 뜻이다.

LV를 새로 만들어도 되지만 여기서는 /dev/mapper/VG1-LV1이라는 폴더의 용량을 200G 늘려보겠다.

 

 

VM상에서 용량을 200G 늘려준뒤에 gparted라는 프로그램을 다운 받는다.

$ apt-get install gparted

 

VM에서 용량늘려주는 방법은 VMware 업체마다 다르므로 패스.

 

실행하면 아래와 같이 UI가 뜨는데 마우스 드래그로 unused 디스크를 활용하여 파티션을 풀용량으로 잡아준다.

 

그뒤에 아래 명령어를 쳐서 541G에서 700G 의 용량으로 늘려준다.

$ lvextend -L 700G /dev/mapper/VG1-LV1

 

 

그 뒤 용량이 늘어났는지 확인해본다.
$ lvdisplay /dev/mapper/VG1-LV1

 

LV size가 700G로 잘 늘어났다.

그 뒤 df -h를 쳐서 확인해본다.

하지만 시스템에 반영이 안된 것을 알 수 있다.

 

그러면 아래 명령어를 쳐서 sync를 맞춰준다. 

$ resize2fs /dev/mapper/VG1-LV1

 

그뒤 df -h를 쳐보면 용량이 잘 늘어난 것을 확인할 수 있다.

 

이외에도 pated 명령어도 많이 쓰이지만 사용법이 어렵고 잘안들어서 lvextend를 추천한다.

반대로 용량을 줄이고 싶으면 lvreduce -L 명령어를 사용하면 된다.

전에는 서버에서 단순 Parity 작동에 대해서 알아봤는데 이번에는 그 서버를 노드로 삼고, 인터넷이 안되는 망에서 그 노드에 접근하여 sync정보를 가져오는 것을 알아본다.

 

노드 서버는 인터넷이 되므로 해킹위험이 있어 노드에 슬레이브 서버를 연결해서 많이 사용한다.

 

앞서 노드 서버에서는 아래 명령어를 가동하여 작동시켰다. 

$./parity --no-warp --no-ws --no-jsonrpc --no-ipc --port=30301 --chain=ethereum --base-path=/WALLETDATAS/ethereum --db-path=/WALLETDATAS/ethereum/chains > /WALLETDATAS/ethereum/debug.log --log-file=/var/log/ethereum/parity.log 2>&1

개인적으로 --no-warp를 적어주는 것이 좋다. 아니면 아래처럼 스냅샷찍다가 멈춰버리는 경우가 잦다.

 

 

노드서버의 아이피와 포트는 172.16.0.131:30301로 둔다.

 

그리고 슬레이브 서버 아이피는 10.26.10.118로 둔다.

 

1. TOML파일 설정

basepath 안에 eth-config.toml 파일에 아래와 같이 값을 입력한다.

 

author를 공란으로 두면 에러가 뜨므로 자신의 아이피를 적는다.

# 뒤에 것들은 적용되지 않는 코드이므로 무시해도 된다.

 

eth-config.toml

# This config should be placed in following path:
#   %UserProfile%\AppData\Roaming\Parity\Ethereum\config.toml

[parity]
# Local Development Chain
#chain = "mainnet"
# Blockchain and settings will be stored in D:\blocks/Parity\Ethereum.
#base_path = "D:\\blocks/Parity\\Ethereum"
# Parity databases will be stored in D:\blocks\Parity\Ethereum\chains.
#db_path = "D:\\blocks\\Parity\\Ethereum\\chains"

#[ui]
# Wallet will be accessible on port 8181.
#port = 8180

[account]
# From: [conco,test] you'll be able to send tranasactions without password.
#unlock = [0x6E27B320EdAae409438BDB05AC636f51fc920BA4, " "]

[network]
# Parity will listen for connections on port 30301.
#reserved_only = true
#reserved_peers = "./myPrivateNetwork.txt"
port = 30301

[rpc]
port = 10110
interface = "0.0.0.0"
hosts = ["all"]
apis = ["web3", "eth", "net", "parity", "traces", "rpc", "parity_accounts","personal"]

[websockets]
# UI won't work and WebSockets server will be not available.
#웹소켓을 안쓰니 안적어도 무방
port = 11010
#disable = true

[ipc]
# You won't be able to use IPC to interact with Parity.
#disable = true
#path = "D:\\blocks\\Parity\\Ethereum\\chains\\jsonrpc.ipc"
# Only selected APIs will be exposed over this interface.
#apis = ["web3", "eth", "net", "parity", "parity_accounts", "traces", "rpc"]

#[footprint]
# Increase performance on HDD.
#db_compaction = "hdd"

[mining]
#아래 지갑주소는 본인의 주소로 입력한다.
author = "0x00e3F02bb8aaE3927Fcd4fa89caD35730aEE0E58" 

[misc]
#log_file = "C:\\ETHLOG\\Ethereum.log"

위를 요약하면 노드의 30301포트 네트워크로 접속하여 10110포트로 쏴준다는 뜻이다.

따라서 지갑에 접속할 때 10.26.10.118 Host의 10110 port로 접속하면 된다.

 

2. enode 설정

노드에 연결을 하려면 enode 값이 필요하다.

노드서버를 실행시키면 나오는 enode값을 저장해두고 basepath에 txt 문서를 하나 만들어 enode값을 입력한다.

여기서 myPrivateNetwork.txt 파일을 만들어 그안에 아래 코드를 저장한다.

enode://ef2d9aaea37b14746688fedf9695cda53ef4ffdd123f74a0022610e93a00e7ce03564fca51b10befad86dff2ebc5d7b704a2537a51a9322a401127adef35072f@172.26.10.130:30301

 

3. 패리티 실행

아래처럼 입력하여 슬레이브를 실행한다.

--reserved-peers 명령어를 통해서 프라이빗한 네트워크를 생성한다.

그리고 -c 를 붙여 toml파일에 설정값을 적용시킨다. -c가 아닌 --config로 써도 된다.

 

$./parity --no-persistent-txqueue --no-warp --port=30301 --chain=ethereum --base-path=/WALLETDATAS/ethereum --db-path=/WALLETDATAS/ethereum/chains > /WALLETDATAS/ethereum/debug.log --reserved-peers ./myPrivateNetwork.txt --reserved-only -c /WALLETDATAS/ethereum/eth-config.toml

 

이렇게 sync가 맞춰진다면 성공이다.

 

sync 완료 후 10.26.10.118:10110 으로 통신을 하여 이더리움 작업을 할 수 있다.

 

만약 노드없이 하나의 HOST에서만 실행하려고 한다면 위에 프라이빗 네트워크 부분을 빼면된다.

패리티는 러스트 언어 기반의 이더리움 계열 지갑이다.

 

Geth와는 달리 빌드업이 필요없기 때문에 업데이트가 매우 간편하다.

 

따라서 블록체인 회사들에서 쓰고 있다.

 

리눅스던 윈도우던 parity.exe를 입력하면 알아서 블록싱크를 맞춰주지만 db나 base path, 로그 등을 기록하려면 좀더 자세한 명령어가 들어가야 한다.

 

자세한 사항은 TOML파일에 기록하지만 여기선 단순 명령어에 대해서 설명을 해보겠다.

 

보통 리눅스에서는 명령어를 직접 치는 것보단 sh파일을 만들어서 그안에 명령어를 저장 하여 실행하는 것을 추천한다.

 

우선 많이 사용 하는 명령어는 아래와 같다.

 

$./parity --no-ws --no-jsonrpc --no-ipc --port=30301 --chain=ethereum --base-path=/WALLETDATAS/ethereum --db-path=/WALLETDATAS/ethereum/chains > /WALLETDATAS/ethereum/debug.log --log-file=/var/log/ethereum/parity.log 2>&1

 

그 뜻을 하나하나 살펴 보면

 

1. --no-ws

WebSocket JSON_RPC를 쓰지 않겠다는 뜻이다.

만약 172.16.0.1234:9001의 웹소켓을 쓴다면 아래를 넣어주면 된다.

--ws-port=9001 --ws-interface=172.16.0.1234

 

2. --no-jsonrpc

jsonrpc를 사용하지 않겠다는 뜻이다.

만약 Node서버가 아닌 Slave라면 위 명령어를 넣으면 안된다.

만약 위 명령어를 안넣었다면 아래 명령어를 넣는다. 디폴트 PORT는 8545다.

--jsonrpc-port=[PORT] --jsonrpc-interface=[IP]

 

3. --no-ipc

프로세스간 통신인 ipc를 사용하지 않겠다는 뜻이다.

 

4. --port

어떤 포트를 열 것인지 쓴다. 

 

5. --chain

어떤 코인을 이용할 것인지 쓴다. default는 이더리움이다.

예를들어 익스펜스는 expanse, 이더리움클래식은 classic으로 쓰면 된다.

 

6. --base-path

코인지갑을 저장해 놓는 경로를 설정한다.

 

7. --db-path

코인 씽크 db를 저장해놓는 곳이다. 용량이 몇백G 되므로 여유가 있는 디스크로 지정해놓는다.

 

8. --log-file=

지갑 로그가 쌓이는 곳이다. debug.log를 지정해놓으면 필요가 없지만 debug.log만 지정해놓으면 실행하면 그 터미널에서 바로 로그가 쭉 쌓이지만 --log-file 명령어를 쓰면 해당 로그파일에서만 로그를 열람할 수 있다.

+ Recent posts