728x90

HTTP

HTTP는 웹상에서 클라이언트와 서버 간에 요청/응답으로 데이터를 주고 받을 수 있는 프로토콜입니다. 클라이언트가 HTTP 프로토콜을 통해 서버에게 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송합니다. 이 때, HTTP 요청에 포함되는 HTTP 메소드는 서버가 요청을 수행하기 위해 해야할 행동을 표시하는 용도로 사용합니다. 이 HTTP 메소드 중 GET과 POST의 특징과 차이점을 알아보겠습니다.

GET

HTTP/1.1 스펙인 RFC2616의 Section9.3에 따르면 GET은 서버로부터 정보를 조회하기 위해 설계된 메소드입니다.
GET은 요청을 전송할 때 필요한 데이터를 Body에 담지 않고, 쿼리스트링을 통해 전송합니다. URL의 끝에 ?와 함께 이름과 값으로 쌍을 이루는 요청 파라미터를 쿼리스트링이라고 부릅니다. 만약, 요청 파라미터가 여러 개이면 &로 연결합니다. 쿼리스트링을 사용하게 되면 URL에 조회 조건을 표시하기 때문에 특정 페이지를 링크하거나 북마크할 수 있습니다.

쿼리스트링을 포함한 URL의 샘플은 아래와 같습니다. 여기서 요청 파라미터명은 name1, name2이고, 각각의 파라미터는 value1, value2라는 값으로 서버에 요청을 보내게 됩니다.

www.example-url.com/resources?name1=value1&name2=value2

그리고 GET은 불필요한 요청을 제한하기 위해 요청이 캐시될 수 있습니다. js, css, 이미지 같은 정적 컨텐츠는 데이터양이 크고, 변경될 일이 적어서 반복해서 동일한 요청을 보낼 필요가 없습니다. 정적 컨텐츠를 요청하고 나면 브라우저에서는 요청을 캐시해두고, 동일한 요청이 발생할 때 서버로 요청을 보내지 않고 캐시된 데이터를 사용합니다. 그래서 프론트엔드 개발을 하다보면 정적 컨텐츠가 캐시돼 컨텐츠를 변경해도 내용이 바뀌지 않는 경우가 종종 발생합니다. 이 때는 브라우저의 캐시를 지워주면 다시 컨텐츠를 조회하기 위해 서버로 요청을 보내게 됩니다.

POST

POST는 리소스를 생성/변경하기 위해 설계되었기 때문에 GET과 달리 전송해야될 데이터를 HTTP 메세지의 Body에 담아서 전송합니다. HTTP 메세지의 Body는 길이의 제한없이 데이터를 전송할 수 있습니다. 그래서 POST 요청은 GET과 달리 대용량 데이터를 전송할 수 있습니다. 이처럼 POST는 데이터가 Body로 전송되고 내용이 눈에 보이지 않아 GET보다 보안적인 면에서 안전하다고 생각할 수 있지만, POST 요청도 크롬 개발자 도구, Fiddler와 같은 툴로 요청 내용을 확인할 수 있기 때문에 민감한 데이터의 경우에는 반드시 암호화해 전송해야 합니다.

그리고 POST로 요청을 보낼 때는 요청 헤더의 Content-Type에 요청 데이터의 타입을 표시해야 합니다. 데이터 타입을 표시하지 않으면 서버는 내용이나 URL에 포함된 리소스의 확장자명 등으로 데이터 타입을 유추합니다. 만약, 알 수 없는 경우에는 application/octet-stream로 요청을 처리합니다.

GET과 POST의 차이

GET은 Idempotent, POST는 Non-idempotent하게 설계되었습니다.
Idempotent(멱등)은 수학적 개념으로 다음과 같이 나타낼 수 있습니다.

수학이나 전산학에서 연산의 한 성질을 나타내는 것으로, 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질

즉, 멱등이라는 것은 동일한 연산을 여러 번 수행하더라도 동일한 결과가 나타나야 합니다.
여기서 GET이 Idempotent하도록 설계되었다는 것은 GET으로 서버에게 동일한 요청을 여러 번 전송하더라도 동일한 응답이 돌아와야 한다는 것을 의미합니다. 이에 따라 GET은 설계원칙에 따라 서버의 데이터나 상태를 변경시키지 않아야 Idempotent하기 때문에 주로 조회를 할 때에 사용해야합니다. 예를 들어, 브라우저에서 웹페이지를 열어보거나 게시글을 읽는 등 조회를 하는 행위는 GET으로 요청하게 됩니다.

반대로 POST는 Non-idempotent하기 때문에 서버에게 동일한 요청을 여러 번 전송해도 응답은 항상 다를 수 있습니다. 이에 따라 POST는 서버의 상태나 데이터를 변경시킬 때 사용됩니다. 게시글을 쓰면 서버에 게시글이 저장이 되고, 게시글을 삭제하면 해당 데이터가 없어지는 등 POST로 요청을 하게 되면 서버의 무언가는 변경되도록 사용됩니다. 이처럼 POST는 생성, 수정, 삭제에 사용할 수 있지만, 생성에는 POST, 수정은 PUT 또는 PATCH, 삭제는 DELETE가 더 용도에 맞는 메소드라고 할 수 있습니다.

GET과 POST는 이처럼 큰 차이가 있기 때문에 설계원칙에 따라 적절한 용도로 사용해야합니다.

728x90

포트 스캔

[정의]

포트 스캔(port scan)은 운영 중인 서버에서 열려 있는 포트를 검색하는 것을 의미한다.

[목적]

자신의 서버의 네트워크 서비스들을 점검하기 위해 사용하거나 해커가 해킹을 하기 위해 정보 수집에서 타겟 서버의 정보를 수집하기 위해 사용한다. 알고자하는 패킷에 특정한 패킷을 보냈을 때 돌아오는 응답에 따라 포트가 열려있는지 닫혀있는지 판단한다.

[유형]

  • TCP
  • TCP half-open
  • UDP
  • Stealth

TCP

TCP 스캔은 TCP 처음 연결 시 일어나는 3-웨이 핸드쉐이킹을 탐지하는 기법이다. 만약 핸드쉐이킹이 정상적으로 완료되었다면, 해당 TCP 포트는 정상적으로 열려 있는 것으로 판단할 수 있다. 서비스 거부 공격을 막기 위해, 포트 스캐너는 핸드쉐이킹 직후 연결을 종료한다. 이 방식은 일반적인 소켓 connect()를 이용하기 때문에, Nmap 등의 프로그램에서는 이 방식을 연결 스캔(connect scan)으로 부른다.

[시도 및 응답]

  • 열려있는 경우 : SYN + ACK
  • 닫혀있는 경우 : RST + ACK

[그림1] 열려있는 경우

[그림2] 닫혀있는 경우

[알려진 포트]

1. 포트 80(HTTP) : 이 포트는 우리가 발견한 열린 포트의 14% 이상을 차지한다.

2. 포트 23(Telnet) : 텔넷은(암호화되지 않아) 보안이 불안하긴 하지만 계속 존재했다.

3. 포트 443(HTTPS) : SSL 암호화된 웹서버는 이 포트를 기본적으로 사용한다.

4. 포트 21(FTP) : 텔넷처럼 FTP는 없어져야 하는 보안이 불안한 프로토콜이다. 

5. 포트 22(SSH) : 텔넷을 대체하는 암호화된 프로토콜로 보통 보안 셸로 알려졌다.

6. 포트 25(SMTP) : 표준 메일 전송 프로토콜(보안이 돼 있지 않다).

7. 포트 3389(ms-term-server) : 마이크로소프트 터미널 서비스 관리 포트

8. 포트 110(POP3) : 이메일 추출을 위한 포스트 오피스 프로토콜 버전 3(비보안)

9. 포트 445(마이크로소프트-DS) : (파일/프린터 공유 같은)마이크로소프트 윈도우 서비스에 있는 IP에 대한 SMB 통신을 위한 포트

10. 포트 143(IMAP) : 인터넷 메시지 접근 프로토콜 버전 2. 보안이 안 된 이메일 추출 프로토콜

11. 포트 53(도메인) : 도메인 네임 시스템DNS, 호스트/도메인명과 IP주소 사이의 대화를 위한 보안이 안 된 시스템

12. 포트 3306(MySQL) : MySQL 데이터베이스와 통신을 위한 포트

13. 포트 8080(HTTP-proxy) : 일반적인 웹서버를 위한 HTTP 프록시나 다른 포트로써 흔하게 사용되는 포트

14. 포트 995(POP3S)  : 보안을 위해 추가된 SSL이 있는 POP3

15. 포트 5900(VNC) : 그래픽 데스크탑 공유 시스템(비보안)

 

TCP half-open

half-open 스캔은 TCP 핸드쉐이킹을 완전히 수행하지 않고, 처음 SYN 패킷만을 받은 후 검사를 완료하는 방식이다. 이 방식은 실제 TCP 연결이 일어나지 않는다. 이 방식을 사용하기 위해서는 TCP 스캔과 같이 connect() 함수를 이용할 수 없고, 포트 스캐너는 이 스캔 작업을 위해 TCP 패킷을 직접 생성한다.

[시도 및 응답]

  • 열려있는 경우 : SYN + RST 패킷을 받은 후 응답하지 않는다.
  • 닫혀있는 경우 : SYN + ACK 패킷을 받은 후 RST 패킷을 보내 연결을 끊는다.

* FIN를 보냈을 때

- 열려있는 경우 : 응답없음

- 닫혀있는 경우 : RST + ACK

* SYN+ACK를 보냈을 때

- 열려있는 경우 : RST

- 닫혀있는 경우 : RST

[그림1] 열려있는 경우

[그림2] 닫혀있는 경우

 

UDP

UDP 프로토콜은 TCP와 다르게 핸드쉐이킹 과정이 존재하지 않고, 따라서 일반적으로는 포트가 열려 있다고 하더라도 서버에서 아무런 응답을 하지 않을 수도 있다. 하지만, 많은 시스템에서는 보낸 패킷에 대한 응답이 없을 때 ICMP unreachable 메시지를 보낸다. 많은 UDP 스캐너는 이 메시지를 탐지하는 방향으로 동작한다. 이 방식은 서버에서 ICMP 메시지를 보내지 않는 경우 닫혀 있는 포트를 열려 있다고 판단하는 경우가 존재한다.

다른 방식으로는 각 포트에 따라서 그에 대응하는 프로토콜 패킷을 전송하는 방식이다. 예를 들어, DNS 서버는 53번 포트에서 동작하며, UDP 스캐너는 해당 포트에 DNS 정보 요청 패킷을 보낸 후 응답을 받는 방식이다. 이러한 방식은 잘 알려진 포트와 대응 프로토콜에 대해서만 사용할 수 있다는 한계가 있지만, ICMP 메시지가 없는 경우 활용할 수 있다.

[시도 및 응답]

  • 열려있는 경우 : 응답없음
  • 닫혀있는 경우 : icmp destination unreachable

[알려진 포트]

1. 포트 631(IPP) : 인터넷 프린팅 프로토콜

2. 포트 161(SNMP) : 간단한 네트워크 관리 프로토콜

3. 포트 123(NTP) : 네트워크 타임 프로토콜

4. 포트 1434(MS-SQL-DS) : 마이크로소프트 SQL 서버

5. 포트 67(DHCPS) : 다이내믹 호스트 구성 프로토콜 서버

6. 포트 53(도메인) : 도메인 네임 시스템DNS 서버

7. 포트 68(DHCPC) : DHCP 클라이언트 포트

8. 포트 520(라우트) : 라우팅 정보 프로토콜RIP

9. 포트 69(TFTP) : 간단한 파일 전송 프로토콜

 

Stealth

세션을 완전히 성립하지 않고, 공격 대상 시스템의 포트 활성화 여부를 알아내기 때문에 공격 대상 시스템에 로그가 남지 않는다. 따라서 공격 대상의 시스템 관리자는 어떤 IP를 가진 공격자가 자신의 시스템을 스캔 했는지 확인 할 수 없다. 스텔스 스캔은 닫혀있는 포트에 대해서만 응답하고 종류는 ACK, NULL, X-MAS스캔 등이 있다.

[유형]

  • ACK or FIN : ack 혹은 FIN flag만 보내는 스캔
  • NULL : flag를 하나도 보내지 않는 스캔
  • X-MAS : 모든 flag를 보내거나 FIN, PSH, URG flag를 보내는 스캔

[시도 및 응답]

  • 열려있는 경우 : 응답없음
  • 닫혀있는 경우 : RST

[그림1] ACK, FIN 열려있는 경우

[그림2] ACK, FIN 닫혀있는 경우

[그림3] X-MAS 닫혀있는 경우

 

NMAP

[목적]

nmap은 원래 Gordon Lyon에 의해 쓰인 보안 스캐너이다. 컴퓨터와 서비스를 찾기 위해 사용된다. Nmap은 서비스 탐지 프로토콜로 자신을 광고하지 않는 수동적인 서비스들도 찾아낼 수 있다. 게다가 Nmap은 원격 컴퓨터들의 상세정보도 알아낼 수 있다. 이 상세정보에는 OS, 장치 종류, 운영 시간, 서비스에 쓰이는 소프트웨어 제품과 버전, 방화벽 기술 존재와 LAN에서 NIC의 공급자 정보도 포함한다.

[특징]

  • 호스트 탐지 : 네트워크 상에서 컴퓨터들을 확인한다. 예를 들어 ping 응답이나 특정포트가 열린 컴퓨터들을 나열한다.
  • 포트 스캔 : 하나 혹은 그 이상의 대상 컴퓨터들에 열린 포트들을 나열한다.
  • 버전 탐지 : 응용프로그램의 이름과 버전 번호를 확인하기 위해 원격 컴퓨터의 서비스를 확인 한다.
  • OS 탐지 : 원격으로 OS와 네트워크 장치의 하드웨어 특성을 확인 한다.

[설치 및 사용 방법]

#> yum install nmap

#> nmap [Scan Type] [Option] [Address]

[옵션]

옵션  설명
-sT 일반적인 TCP 포트스캐닝
-sS half-open 스캔
-sP ping 을 이용한 일반적인 스캔
-sU UDP 포트 스캐닝
-PO 대상 호스트에 대한 ping 응답을 요청하지 않음, log 기록과 filtering 을 피할 수 있음
-PT 일반적이 ICMP ping이 아닌 ACK 패킷으로 ping 을 보내고 RST 패킷으로 응답을 받음
-PI 일반적인 ICMP ping 으로 방화벽이나 필터링에 의해 걸러짐
-PB ping 을 할 때 ICMP ping 과 TCP ping을 동시에 이용
-PS ping 을 할 때 ACK 패킷대신 SYN 패킷을 보내 스캔
-O 대상 호스트의 OS 판별
-P 대상 호스트의 특정 포트를 스캔하거나, 스캔할 포트의 범위를 지정
ex) -p 1-100
-D Decoy 기능으로 대상 호스트에게 스캔을 실행한 호스트의 주소를 속임
-F /etc/services 파일 내에 기술된 포트만 스캔
-I TCP 프로세서의 identd 정보를 가져옴
-n IP 주소를 DNS 호스트명으로 바꾸지 않음, 속도가 빠름
-R IP 주소를 DNS 호스트명으로 바꿔서 스캔, 속도가 느림
-o 스캔 결과를 택스트 파일로 저장
-i 스캔 대상 호스트의 정보를 지정한 파일에서 읽어서 스캔
-h 도움말 보기

[출처] 위키 백과, https://asecurity.so, http://wildpup.cafe24.com, http://www.hacure.com

'IT > 네트워크(Network)' 카테고리의 다른 글

FTP Active와 Passive 차이  (0) 2021.08.18
GET과 POST의 차이  (0) 2021.08.18
Mikrotik hAP ac2 - 트러블슈팅  (0) 2021.07.27
미크로틱 라우터(Mikrotik Router) 보안 강화하기  (0) 2021.07.09
Mikrotik RB4011iGS+RM  (0) 2021.07.05
728x90

MikroTik hAP ac2 트러블슈팅 내역입니다.

사용 중 생기는 문제와 해결방법을 수시로 업데이트하려 합니다.

 

1. 아이패드 와이파이 재연결

 

아이패드가 슬립모드로 들어간 상태에서 몇 분 이상이 지났다가 풀렸을 때

와이파이 신호를 다시 잡으면서 백그라운드에 있던 어플(ex. 유튜브)을 실행하면

와이파이가 끊어진 것으로 인식되며 새로고침 하였을 때 다시 정상 동작하는 문제였습니다.

 

제 경우에는 와이파이가 붙은 다른 기기들에서는 발생한 사항은 아니었고 아이패드에서만 발생하였으며

iOS 기기에서만 발생하는 것으로 추측되었습니다.

 

* 원인

DHCP 임대 시간문제

기존에 사용하던 AC68P에서는 볼 수 없었던 문제여서 제가 확인해 볼 수 있는 설정값을

비교해본 결과 DHCP 임대 시간문제로 확인되었습니다.

 

ASUS 공유기의 기본 IP 임대시간은 1일이었으며,

미크로틱의 RouterOS에서 설정된 기본 IP 임대 시간은 10분입니다.

 

아이패드가 슬립모드 일 때 임대 시간이 만료되는 시점에 연결을 끊고

다시 슬립모드가 풀릴 때 재연결을 하는 케이스로 추측됩니다.

 

* 해결

 

DHCP Server 설정

winbox > IP > DHCP Server 설정에서

Lease Time 항목을 10분에서 1일(24시간)로 변경합니다.

 

 

 

2. 특정 기기 5Ghz 대역 인식 불가

 

특정 기기에서 2.4Ghz 연결에서는 이상이 없고

5Ghz 는 SSID가 보이지 않거나 보이더라도 연결이 안되는 문제입니다.

 

* 원인

5Ghz 대역에서 사용하는 채널이 기기에서 지원하는 채널과 달라 발생한 사항입니다.

 

* 해결

 

802.11ac 5Ghz 국가별 채널 리스트

quickset (위 스크린샷은 webfig 화면이지만 winbox 화면과 유사합니다. / 출처 : wiki.mikrotik.com)

winbox > quickset > Wireless에서 Frequency 항목을

국가별 허용 채널로 변경해줍니다.

제 경우에는 우리나라와 일본 둘 다 허용되는 채널로 변경하였습니다.

 

국가별 채널 리스트 참고

https://en.wikipedia.org/wiki/List_of_WLAN_channels

 

List of WLAN channels - Wikipedia

Wikipedia list article WLAN (wireless local area network) channels are frequently accessed using IEEE 802.11 protocols, and equipment that does so is sold mostly under the trademark Wi-Fi. Other equipment also accesses the same channels, such as Bluetooth.

en.wikipedia.org

 

출처 : https://core00.tistory.com/11

728x90

미크로틱 라우터OS의 보안 강화하기입니다.

 

1. winbox 실행 후 IP -> SERVICES 항목에서 winbox 제외하고 다 비활성화 합니다.

 

2. 방화벽에 다음 포트스캔 관련 차단 정책 Rule을 추가합니다.

/ip firewall filter

add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="Port scanners to list " in-interface=ether1 protocol=tcp psd=21,3s,3,1
add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="NMAP FIN Stealth scan" in-interface=ether1 protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg
add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="SYN/FIN scan" in-interface=ether1 protocol=tcp tcp-flags=fin,syn
add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="SYN/RST scan" in-interface=ether1 protocol=tcp tcp-flags=syn,rst
add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="FIN/PSH/URG scan" in-interface=ether1 protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack
add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="ALL/ALL scan" in-interface=ether1 protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg
add action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w chain=forward comment="NMAP NULL scan" in-interface=ether1 protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg
add action=drop chain=input comment="black list" in-interface=ether1 src-address-list=blacklist

 

참고 : ether1 이 WAN 으로 쓰는경우 설정값입니다. 위 값에서 ether1 은 설정된 WAN 포트명으로 맞추세요.

 

3. 블랙리스트 적용 방법
http://joshaven.com/resources/tricks/mikrotik-automatically-updated-address-list/

add chain=input action=drop comment="Drop new connections from blacklisted IP's to this router" \
    connection-state=new src-address-list=blacklist in-interface=ether1-WAN
----------------------------------------------------------------------------------------------------------------------------------
SpamHaus
"Spamhaus Do n't Route Or Peer List (DROP)" "

# Script which will download the drop list as a text file
/system script add name="DownloadSpamhaus" source={
/tool fetch url="http://joshaven.com/spamhaus.rsc" mode=http;
:log info "Downloaded spamhaus.rsc from Joshaven.com";
}

# Script which will Remove old Spamhaus list and add new one
/system script add name="ReplaceSpamhaus" source={
/ip firewall address-list remove [find where comment="SpamHaus"]
/import file-name=spamhaus.rsc;
:log info "Removed old Spamhaus records and imported new list";
}

# Schedule the download and application of the spamhaus list
/system scheduler add comment="Download spamnaus list" interval=3d \
  name="DownloadSpamhausList" on-event=DownloadSpamhaus \
  start-date=jan/01/1970 start-time=02:57:54
/system scheduler add comment="Apply spamnaus List" interval=3d \
  name="InstallSpamhausList" on-event=ReplaceSpamhaus \
  start-date=jan/01/1970 start-time=03:02:54
 
----------------------------------------------------------------------------------------------------------------------------------
dshield
“This list summarizes the top 20 attacking class C (/24) subnets over the last three days. The number of ‘attacks’ indicates the number of targets reporting scans from this subnet.”

# Script which will download the drop list as a text file
/system script add name="Download_dshield" source={
/tool fetch url="http://joshaven.com/dshield.rsc" mode=http;
:log info "Downloaded dshield.rsc from Joshaven.com";
}

# Script which will Remove old dshield list and add new one
/system script add name="Replace_dshield" source={
/ip firewall address-list remove [find where comment="DShield"]
/import file-name=dshield.rsc;
:log info "Removed old dshield records and imported new list";
}

# Schedule the download and application of the dshield list
/system scheduler add comment="Download dshield list" interval=3d \
  name="DownloadDShieldList" on-event=Download_dshield \
  start-date=jan/01/1970 start-time=03:07:54
/system scheduler add comment="Apply dshield List" interval=3d \
  name="InstallDShieldList" on-event=Replace_dshield \
  start-date=jan/01/1970 start-time=03:12:54

----------------------------------------------------------------------------------------------------------------------------------
malc0de
"The files below will be updated daily with domains that have been indentified distributing malware during the past 30 days"

# Script which will download the malc0de list as a text file
/system script add name="Download_malc0de" source={
/tool fetch url="http://joshaven.com/malc0de.rsc" mode=http;
:log info "Downloaded malc0de.rsc from Joshaven.com";
}

# Script which will Remove old malc0de list and add new one
/system script add name="Replace_malc0de" source={
/ip firewall address-list remove [find where comment="malc0de"]
/import file-name=malc0de.rsc;
:log info "Removed old malc0de records and imported new list";
}

# Schedule the download and application of the malc0de list
/system scheduler add comment="Download malc0de list" interval=3d \
  name="Downloadmalc0deList" on-event=Download_malc0de \
  start-date=jan/01/1970 start-time=03:07:54
/system scheduler add comment="Apply malc0de List" interval=3d \
  name="Installmalc0deList" on-event=Replace_malc0de \
  start-date=jan/01/1970 start-time=03:12:54

----------------------------------------------------------------------------------------------------------------------------------
VoIP Blacklist
"Protect your business and PBX's against VoIP Fraud Minimize the risks of attacks on your Telephony Server Save bandwidth by using Geolocation filtering."

WARNING: Use carefully! This is a huge list which can quickly cause performance issues.

# Script which will download the voip-bl list as a text file
/system script add name="Download_voip-bl" source={
/tool fetch url="http://joshaven.com/voip-bl.rsc" mode=http;
:log info "Downloaded voip-bl.rsc from Joshaven.com";
}

# Script which will Remove old voip-bl list and add new one
/system script add name="Replace_voip-bl" source={
/ip firewall address-list remove [find where comment="VoIP BL"]
/import file-name=voip-bl.rsc;
:log info "Removed old voip-bl records and imported new list";
}

# Schedule the download and application of the voip-bl list
/system scheduler add comment="Download voip-bl list" interval=3d \
  name="Refresh_voip-bl" on-event=Download_voip-bl \
  start-date=jan/01/1970 start-time=03:07:54
/system scheduler add comment="Apply voip-bl List" interval=3d \
  name="Update_voip-bl" on-event=Replace_voip-bl \
  start-date=jan/01/1970 start-time=03:12:54

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

 

4. 설정 예제

##  2016/09/15 추가: 격리된 포트가 다른 포트와 통신이 되는 것을 확인하여 격리설정은 다음에 수정하겠습니다. ##

##  2016/09/19 추가 : 격리포트는 /ip route rules에서 설정하여 Layer 3 레벨 격리를 구현하였습니다. ##

격리공간을 만들어 둔 이유는, 직업상 영어메일을 읽어야 할 상황이 있어서 만약을 대비한 격리공간입니다.

이 모든 설정은 winbox GUI로도 커맨드와 똑같은 메뉴를 따라 설정가능합니다만 사진을 왕창 추가하기에는

여러모로 곤란하므로 불친절하더라도 커맨드와 설명만 적어두었습니다.



혹시 이 세팅을 적용하실 경우 일단 현재 세팅을 백업 후에 하시길 권장합니다.

> export verbose file=[적당한 파일이름].rsc

이렇게 하면 라우터의 루트디렉토리에 설정파일이 저장되고, Files탭에서 파일을 볼 수 있으며, 드래그해서

컴퓨터에 간단하게 저장도 가능합니다. 물론 반대도 가능합니다.



이렇게 세팅하면 무선기기는 AP에 접속할 경우 CCR1009로부터 dhcp로 ip를 받아와 인터넷에 연결됩니다.

VLAN을 쓰면 더 간단하고 CPU부하도 적게 할 수도 있을 것 같은데 저는 잘 몰라서 이렇게 설정했습니다.



메인라우터 CCR1009 설정

# 각 포트별 명칭을 알아보기 쉽게 지정하였습니다. 굳이 안해도 됩니다만, 후반 설정에 이름이 영향을 #

# 미치므로 변경하지 않을 경우 포트이름만 etherX로 고쳐쓰시면 됩니다. eth1-4는 스위치그룹이므로 eth1을 #

# 마스터로 지정하였습니다. #

/interface ethernet
set [ find default-name=ether1 ] arp=proxy-arp comment="LAN1 Switch1" name=eth1-LAN1
set [ find default-name=ether2 ] arp=proxy-arp master-port=eth1-LAN1 name=eth2-LAN1
set [ find default-name=ether3 ] arp=proxy-arp master-port=eth1-LAN1 name=eth3-LAN1
set [ find default-name=ether4 ] arp=proxy-arp master-port=eth1-LAN1 name=eth4-LAN1
set [ find default-name=ether5 ] comment=LAN2 name=eth5-LAN2
set [ find default-name=ether6 ] comment="LAN3 RBcAP2n AP" name=eth6-LAN3
set [ find default-name=ether7 ] comment="Isolated sandbox port" name=eth7-LAN4SB
set [ find default-name=ether8 ] arp=proxy-arp comment=WAN name=ether1
set [ find default-name=sfp-sfpplus1 ]comment=SFP
# 각 LAN환경에 설정해 줄 대역을 지정해줍니다. 구체적으로 VPN클라이언트 연결이나 DHCP ip분배 등에 쓰입니다. #

/ip pool
add name=LAN1 ranges=192.168.88.10-192.168.88.49
add name=LAN2 ranges=192.168.89.10-192.168.89.49
add name=LAN3 ranges=192.168.90.10-192.168.90.49
add name=LAN4SB ranges=192.168.91.10-192.168.91.49
# NAT-LAN 환경에서 분배할 DHCP 서버를 구성합니다. 위의 그림에서 설명한 대역을 지정하였습니다. #

# eth1-eth4는 같은 스위치그룹이므로 편하게 쓰고자, eth1을 master로 두고 2,3,4를 slave로 설정하였습니다. #

/ip dhcp-server
add add-arp=yes address-pool=LAN1 disabled=no interface=eth1-LAN1 name=DHCP-LAN1
add add-arp=yes address-pool=LAN2 disabled=no interface=eth5-LAN2 name=DHCP-LAN2
add add-arp=yes address-pool=LAN3 disabled=no interface=eth6-LAN3 name=DHCP-LAN3
add address-pool=LAN4SB disabled=no interface=eth7-LAN4SB name=DHCP-LAN4

 

/ip dhcp-server network
add address=192.168.88.0/24 dns-server=192.168.88.1 gateway=192.168.88.1
add address=192.168.89.0/24 dns-server=192.168.89.1 gateway=192.168.89.1
add address=192.168.90.0/24 dns-server=192.168.90.1 gateway=192.168.90.1
add address=192.168.91.0/24 dns-server=192.168.91.1 gateway=192.168.91.1

# 라우팅 테이블의 룰에서 OSI layer 3레벨 수준(IP)에서 격리포트의 네트워크로 통신 또는#

# 격리포트의 네트워크에서 타 포트로 통신하는 경우를 막았습니다.#

# Layer 2 수준(MAC통신)는 네트워크 대역이 다르므로 자동으로 막혀있습니다. #

/ip route rule
add action=drop disabled=no dst-address=192.168.91.0/24 !interface !routing-mark src-address=192.168.88.0/24
add action=drop disabled=no dst-address=192.168.91.0/24 !interface !routing-mark src-address=192.168.89.0/24
add action=drop disabled=no dst-address=192.168.91.0/24 !interface !routing-mark src-address=192.168.90.0/24
add action=drop disabled=no dst-address=192.168.88.0/24 !interface !routing-mark src-address=192.168.91.0/24
add action=drop disabled=no dst-address=192.168.89.0/24 !interface !routing-mark src-address=192.168.91.0/24
add action=drop disabled=no dst-address=192.168.90.0/24 !interface !routing-mark src-address=192.168.91.0/24

# 각 포트별 NAT 환경의 IP주소대역을 지정합니다 #

/ip address
add address=192.168.88.1/24 interface=eth1-LAN1 network=192.168.88.0
add address=192.168.89.1/24 interface=eth5-LAN2 network=192.168.89.0
add address=192.168.90.1/24 interface=eth7-LAN3 network=192.168.90.0
add address=192.168.91.1/24 interface=eth7-LANSB network=192.168.91.0
# 미크로틱에서 제공하는 라우터보드의 자체 DDNS입니다. 가정에서는 딱히 사용하는 도메인이 없다면 켜두시는 게 여러모로 편리합니다. #

/ip cloud
set ddns-enabled=yes
# DNS 참조주소를 구글 퍼블릭 DNS로 지정합니다. KT나 SKT, LG의 주소로 지정해도 상관없습니다. #

# 주의할 점은 allow-remote-requests를 활성화하면 외부로부터 DNS flood가 심각하게 들어오므로 방화벽에서 tcp/udp 53을 차단해야합니다. #

# 이 예제에서는 뒤에서 서술할 방화벽 설정에서 차단해 두었습니다. #

/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
# 방화벽을 걸기 전에 여러 대역을 통째로 걸기위한 리스트를 작성했습니다. #

/ip firewall address-list
add address=0.0.0.0/8 comment="Self-Identification [RFC 3330]" list=bogons
add address=127.0.0.0/8 comment="Loopback [RFC 3330]" list=bogons
add address=169.254.0.0/16 comment="Link Local [RFC 3330]" list=bogons
add address=192.168.88.0/24 comment=LAN list=LAN
add address=192.168.91.0/24 comment="Isolated Sandbox Ethernet" list=LAN4
add address=192.168.89.0/24 list=LAN
add address=192.168.90.0/24 list=LAN
add address=10.0.0.0/8 list=LAN
# 방화벽 설정입니다. fasttrack 설정과 여러 포트를 열어주고 그 외에는 막았습니다. #

# 참고로 fastpath는 방화벽 필터가 1개라도 있으면 아마 동작하지 않을 겁니다 #

# NAT 라우팅이 되기 이전에 막을 수 있는 것은 raw필터로 막아 CPU에 부담을 덜 주게 하였습니다. #

/ip firewall filter
add action=fasttrack-connection chain=forward connection-state=established,related
add action=accept chain=forward connection-state=established,related
add action=accept chain=input connection-state=established,related


/ip firewall raw
add action=drop chain=prerouting comment="tcp/udp 53 block" dst-port=53 in-interface=ether1 protocol=udp
add action=drop chain=prerouting dst-port=53 protocol=tcp
add action=drop chain=prerouting comment="North Korea block" src-address=175.45.176.0/22
add action=drop chain=prerouting src-address=210.52.109.0/24
add action=drop chain=prerouting comment="LANSB isolation" dst-address-list=LAN4 in-interface-list=LAN src-address-list=LAN
add action=drop chain=prerouting dst-address-list=LAN in-interface-list=LANSB src-address-list=LAN4
add action=drop chain=forward comment="Drop to bogon list" dst-address-list=bogons
add action=accept chain=prerouting comment="Full access to SUPPORT address list" src-address-list=support
add action=drop chain=ICMP comment="Drop to the other ICMPs" protocol=icmp

 

# ipv6용 방화벽입니다. 특별히 설정을 해두진 않았습니다. #
/ipv6 firewall filter
add action=accept chain=input protocol=255
add action=accept chain=input protocol=igmp
add action=accept chain=input connection-state=""
add action=accept chain=input connection-state=""
add action=passthrough chain=input
add action=accept chain=input comment=ICMPv6 protocol=icmpv6
add action=accept chain=input comment="DHCPv6 client" dst-port=546 in-interface=ether1 protocol=udp
add action=accept chain=forward comment="Accept forward" in-interface=ether1
add action=accept chain=output comment="Accept output"
add action=accept chain=input comment="Router - Allow IPv6 ICMP" protocol=icmpv6

# NAT 마스커레이딩 설정입니다. 각 포트별로 지정해둔 IP대역을 NAT주소변환 해주지 않으면 통신이 안됩니다. #

/ip firewall nat
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.88.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.89.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.90.0/24
add action=masquerade chain=srcnat out-interface=ether1 src-address=192.168.91.0/24
# FTP나 irc 서버 등을 운영하지 않으면 꺼둡니다. pptp VPN과 인터넷전화기 (sip)만 열어두었습니다. #

/ip firewall service-port
set ftp disabled=yes
set tftp disabled=yes
set irc disabled=yes
set h323 disabled=yes
set udplite disabled=yes
set dccp disabled=yes
set sctp disabled=yes
# 라우터OS에서 사용하는 서비스 포트입니다. winbox 이외에는 다 막았습니다. #

/ip service
set telnet disabled=yes
set ftp disabled=yes
set www disabled=yes
set ssh disabled=yes
set api disabled=yes
set api-ssl disabled=yes
# 라우터의 시간설정 및 시간동기화 설정을 합니다.#

/system clock
set time-zone-name=Asia/Seoul
/system ntp client
set enabled=yes primary-ntp=203.254.163.74
# 어찌보면 대단히 중요합니다. 라우터OS 관리용 접근제어인데, 위의 방화벽단에서 막는 것은 L3/L4 에서 막는 설정이기에 #

# 여전히 L2 (맥주소) 기반 접근은 가능한 상태이므로 반드시 외부로부터 오는 접근은 막아야합니다. #

# 맥 텔넷과 맥 winbox를 무선(eth6)/외부(ether1)로부터 접근을 막습니다. 만약 방화벽에서 ether1 인터페이스를 막으면 #

# 이 설정은 신경쓰지 않아도 괜찮을지도 모르겠습니다. #

/tool mac-server
set [ find default=yes ] disabled=yes
add interface=eth1-LAN1
add interface=eth5-LAN2
add interface=eth7-LAN4SB
add interface=sfp-sfpplus1
add interface=sfp1
/tool mac-server mac-winbox
set [ find default=yes ] disabled=yes
add interface=eth1-LAN1
add interface=eth5-LAN2
add interface=eth7-LAN4SB
add interface=sfp-sfpplus1
add interface=sfp1





CCR1009 하단 RBcAP2n 설정

# 브릿지를 생성하여 ether1과 wlan1을 묶어줍니다. 이 설정은 메인라우터 밑단에서 단순 투명한 AP로서 작동시키기 위해 브릿지로 유선과 무선을 묶습니다. #

# 브릿지이름은 자유롭게 지어도 상관없습니다. #

# 무선이 2.4g, 5g 듀얼 또는 그 이상 여러개일 경우 한 브릿지 포트에 계속 추가해주거나 다른 브릿지로 별도로 설정해도 됩니다. #

/interface bridge

add name=bridge1

/interface bridge port

add bridge=bridge1 interface=ether1

add bridge=bridge1 interface=wlan1

#2.4G wifi 통신의WPA2-AESPSK암호화 프로파일을 설정합니다.[SSID]에 원하는 wifi이름을 입력,[password]에 접속 패스워드를 입력합니다. #

#여기서는 설정하지 않지만 인증서기반 WPA2-EAP는 보다 더 강력한 보안을 제공합니다.

/interface wireless security-profiles

set [ find default=yes ]supplicant-identity=[SSID]

add authentication-types=wpa2-psk eap-methods=""\

   mode=dynamic-keys name=wpa2aespsk wpa2-pre-shared-key=[Password]

# 무선라디오의 자잘한 설정을 합니다. 주파수채널과 위에서 설정한 암호화 프로파일 선택 및 송출파워,SSID 비표시 등을 지정합니다. #

# 이 설정은 스펙상 2.4g만 지원하므로 2.4만 설정하며 최근기기들은 대부분 802.11n을 기본지원하므로 n만 쓰도록 했습니다.#

# 손님용 별도의 SSID를 생성할 경우, interface에서 virtual AP를 추가해주고 비슷하게 설정하면 됩니다. #

/interface wireless

set [ find default-name=wlan1 ]band=2ghz-onlyn bridge-mode=disabled \

   default-forwarding=no disabled=no frequency=[Channel] hide-ssid=yesmode=\

   ap-bridgesecurity-profile=wpa2aespsk ssid=[SSID] tx-power=[Power] \

   tx-power-mode=all-rates-fixedwireless-protocol=802.11 wps-mode=disabled

# 관리용 및 게이트웨이 지정을 위해 브릿지로 묶은 인터페이스의 ip를 지정해줍니다. #

/ip address

add address=192.168.90.2/24interface=bridge1 network=192.168.90.0

# DNS주소를메인라우터에서 192.168.90.0/24 서브넷의 게이트웨이 ip인 192.168.90.1로 지정해줍니다. #

# 구글 주소 8.8.8.8로 지정해도 됩니다. #

# 내부IP를 고정시키기 위해 DHCP-client를 활성화하지 않았기에 직접 지정해야 합니다. 

# 그 말은 즉, DHCP-client를 활성화하면 이 작업은 넘어가도 됩니다.

/ip dns

set servers=192.168.90.1

# 필요없는 서비스포트를 닫습니다. #

/ip firewall service-port

set h323 disabled=yes

set udplite disabled=yes

set dccp disabled=yes

set sctp disabled=yes

# 라우팅 경로를 지정하여 밖으로 통신이 가능하게 합니다. #

# AP에서 중앙 라우터로부터 IP를 받기 위한 DHCP client를 활성화시키지 않았기 때문에 (내부 고정IP로 지정) #

# 라우팅을 직접 설정해야 합니다. AP의 맥주소를 지정하여 고정적으로 IP를 받게하면 이 설정은 필요 없습니다. #

/ip route

Add dst-address=0.0.0.0/0 gateway=192.168.90.1

add dst-address=192.168.90.0/24 gateway=bridge1 pref-src=192.168.90.2

# 관리용텔넷/FTP/웹/ssh/api서비스를 필요에 따라 닫습니다. 저는 Winbox빼고 다 닫았습니다. #

/ip service

set telnet disabled=yes

set ftp disabled=yes

set www disabled=yes

set ssh disabled=yes

set api disabled=yes

set api-ssl disabled=yes

# AP의 시간대를 설정합니다. #

/system clock

set time-zone-name=Asia/Seoul

# SNTP클라이언트(인터넷 시간동기화)를 설정합니다. #

/system ntp client

set enabled=yes primary-ntp=203.254.163.74

# 관리용 맥주소기반의 텔넷과 winbox 허용여부 포트를 설정합니다.#

# 손님용 지정이 따로 없다면 메인라우터를 통해 들어오는 것이니 열어두셔도 괜찮습니다.#

# 손님용을 따로 만들겠다면 virtualAP를 하나 만들어 guest용 SSID를 생성하고 해당 virtualAP를 대상에서추가하지 않으면 됩니다.#

/tool mac-server

set [ find default=yes ] disabled=yes

add interface=ethr1

add interface=wlan1

add interface=bridge1

/tool mac-server mac-winbox

set [ find default=yes ] disabled=yes

add interface=ethr1

add interface=wlan1

add interface=bridge1

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

728x90

포스팅이 조금 늦은감이 있지만 홈라우터용으로 구매했습니다. $199 인데 KB카드 할인행사로 인해 20%정도 싸게 구매했네요.

 

Cisco장비만 만져본터라 Mikrotik이 궁금했거든요. 아마존에서 구매했고 3~4일만에 받은거 같습니다.

 

NAT Loopback(헤어핀 NAT) 설정에 조금 애를 먹었지만 성능은 만족합니다.

728x90

https://youtu.be/_kw_bQyX-3U

 

728x90

1. NAT란

모든 IP 패킷에는 Source IP와 Destination IP가 있다.

 

NAT란, Network Address Translation, 즉 IP 패킷 헤더의 IP 주소를 변경하는 기능 혹은 절차를 뜻한다. 1:1 NAT 혹은 1:다 NAT가 있다.

 

PREROUTING : DNAT을 이용하여 패킷이 생길 때 사용됨

POSTROUTING : SNAT을 이용하여 패킷이 나갈 때 사용됨

 

2. SNAT

내부 -> 외부

패킷의 Source 주소를 변경하는 것으로  Source NAT, SNAT, 혹은 IP 마스커레이드라고 한다.

인터넷으로 나가는 패킷의 Source IP를 G/W의 Public IP로 바꾼다.

 

3. DNAT

외부 -> 내부

Destination IP 주소를 변경하여 내부에 접근할 수 있도록 패킷을 변경한다.

대표적인 것은 Load Balancer이다. 

728x90

* 가면이라는 의미로 NAT 기술안에 속해 있는 기술이다

 

* 예를 들어 클라이언트 2명 A(192.168.0.1), B(192.168.0.2)가 route0 안에 있는 경우 클라이언트들은 공인 IP를 가지고 있지않기에 외부 통신이

될수가 없다. 해당 문제를 보안하기 위해 IP 마스커레이드가 생긴 것인데 사설 대역 IP를 가진 클라이언트들이 패킷을 전송하면 라우터에서 목적지에

모두 자신이 보낸 것처럼하여 패킷을 전송한다. (클라이언트 A가 패킷을 전송하면 발신자가 192.168.0.1에서 라우터를 거치면서 211.xxx.xxx.xxx 형식으로

변환이 되서 나가는 것, 수신측에서는 클라이언트 IP가 아닌 211.xxx.xxx.xxx 의 공인 IP가 보낸것으로 받게 된다)

 

* IP 마스커레이드는 주소변환만 하는것이 아닌 포트번호까지 포트포워딩시켜주는 기능을 가지고 있다.

(클라이언트가 외부로 패킷을 보냈을 경우 라우터에서는 공인IP의 무작위 포트번호를 붙여서 보내준다. 외부에서 응답 패킷을 보낼때 전송받은 포트번호로 패킷을 보낼 수 있도록 하고 해당 응답패킷을 받은 라우터는 포트 번호를 이용해 클라이언트에게 패킷을 전달) 

728x90

원문출처 : http://rftown.com/article/%ED%8C%81%ED%85%8C%ED%81%AC/5/7078/ 

 

Mikrotik RouterOS 초기 접속/셋업 (CCR/CRS/RB/CSS Series)팁&테크 - 대흥정보기술(주)

팁&테크 게시판 입니다.

rftown.com

미크로틱_입문자메뉴얼.7z
8.78MB

728x90

Drop(deny)과 reject의 차이점

 

Drop와 reject의 차이점은 무엇일까?

 

한마디로 정의한다면 요청에 대한 거부나 불가 메시지를 전송해주느냐 전송하지 않느냐의 차이입니다.

 

Drop은 요청에 대한 거부패킷을 보내지 않고 reject는 요청에 대한 거부패킷을 보내줍니다.

 

reject응답은 TCP와 UDP, ICMP에 따라 다릅니다.

 

TCP의 경우 연결지향이기 때문에 TCP protocol의 RST flag를 이용하여 reject 시킵니다.

 

UDP의 경우는 비 연결지향의 특성상 ICMP protocol을 이용하고 있습니다. ICMP는 당연하게도 ICMP응답을 사용합니다.

 

Icmp의 대표적인 응답코드는 0(echo reply), 3(destination unreachable), 4(source quench), 11(time exceeded) 등이 있습니다.

 

가장 많이 볼 수 있는 것은 TCP 패킷에 대한 DROP과 reject입니다.

 

텔넷이나 ssh, ftp, sftp, scp등등등의 프로그램을 실행했을 때 알 수 있는데 텔넷으로 예를 들어보겠습니다.

 

telnet [ip] [port] 입력 후 trying [ip]…. 화면이 지속되고 있다면 패킷이 DROP됐거나 라우팅 문제입니다.(응답이 없으니 계속 대기하게 되는 상황)

 

패킷이 reject된다면 바로 연결시도를 중지하게 됩니다. (연결이 안 된다는 것을 알게 됐으니 대기하지 않고 종료)

 

즉, 특정 IP의 TCP PORT로 신호가 도달하지 않을 때 원인파악을 위해 telnet만으로도 많은 정보를 알 수 있게 됩니다.

 

예를 들어 보겠습니다.

 

ex)192.168.0.100이라는 서버에 24/TCP가 LISTEN되어 있지 않은 상황

 

telnet 192.168.0.100 24 이런 식으로 LISTEN되어있지 않은 포트로 TCP SYN을 발생시키면 OS에서는 "어? 나 그 포트 LISTEN되어 있지 않아"라고 RST flags로 reject 시킵니다.

 

telnet 192.168.0.100 24 로 시도를 했는데 방화벽에서 drop시키거나 라우팅 문제로 목적지에 도달하지 못하거나 돌아오지 못 할 경우 아무런 응답이 없기에 대기하게 됩니다.

728x90

본딩(bonding)이란 무엇인가?

 

본딩이란 무엇이며 어떤용도로 사용하는지 혹은 이것을 통해 얻는 이익은 무엇인지를 알아야합니다.

 

본딩(bondig)이란

랜카드 여러개를 하나로 묶음으로써 부하분산 혹은 다른 랜카드 고장 시 대처할 수 있는 용도로 쉽게 말하자면 보험 혹은 합동에 가깝게 생각하시면 될거같습니다.

 

※보험을 예로들면

예를 하나 들어 A랜카드와 B랜카드가 있다고 가정을 합시다.

만약 A랜카드가 고장이 나게 되면 서버는 더 이상 동작을 하지 못하게 됩니다.

하지만 본딩을 설정해뒀다면 B랜카드가 대신 A의 자리를 메꿔 줄 수 있죠.

 

※합동을 예로들면

A랜카드와 B랜카드가 있습니다.

A랜카드의 일처리률은 50 B랜카드의 일처리률도 50이라고 가정합니다.

만약에 들어온 일감이 80 이라고 가정합시다.

이때 A랜카드 혼자서 80을 전부 처리를 못합니다. 혹은 느리게 처리가 되겠죠.

하지만 B랜카드와 함께 힘을합쳐 80을 서로 40씩 나누어서 일을 한다고 생각해봅시다.

그렇게되면 일을 좀 더 빨리 끝낼수가 있죠?

 

이것의 본딩의 개념입니다.

 

부하분산 혹은 다른랜카드가 고장났을시의 대처입니다.

728x90

알리익스프레스에서 주문했습니다. 주문한지 2일이나 지났는데 아직 판매자가 배송시작을 안 하는군요.

도착하면 메모리랑 SSD 주문해서 조립한 후 OPNsense나 Untangle 올려볼 예정입니다.

728x90

참고 URL - https://www.untangle.com/untangle-ng-firewall/software-packages/ 

 

 

728x90

https://www.clien.net/service/board/lecture/14498240

728x90

무료오픈소스 방화벽 소개자료가 있어 공유합니다.

 

클리어OS, DD-WRT, Pfsense(UI강화버전 OPNsense), Untangle, ZeroShell 5개 제품에 대한 개략적인 소개를 하고 있습니다.

 

URL바로가기(클릭)

728x90

유용한 명령/설정

[Option]-[Preferences]에서 Show Link Light, Show Device Labels, Always Show Port Labels 체크

Ctrl+Shift+6 : 뭔가 잘못해서 터미널이 먹통됐을 때 탈출

exit, Ctrl+Z(C) : 뒤로가기인데 둘이 다름. 알아서 사용

스위치/라우터 초기화 : erase startup-config → 엔터 → reload →엔터 하면 라우터가 초기화된다

(대충 뭔가 설정되어있는데, 다시 뭘 하기로 했다 ) 라고 설명에 나와있으면, 초기화하고 시작하면 된다.

 

시험에서 사용하는 명령어 *라우터 및 스위치*

프리빌리지 모드 진입

Router > enable

Router #

 

전역 환경설정 모드 진입

Router# configure terminal

Router(config)#

 

콘솔설정 진입

Router(config)#line console 0

Router(config-line)#

** line의 0번포트에 들어간다는 뜻

 

호스트 이름 설정

Router(config)# hostname 이름

이름(config)#

 

접속메시지 설정

Router(config)# banner motd #

메시지#

Router(config)#

** 이 상태에서 끝까지 exit후 터미널을 재시작하면 설정한 메시지가 출력됨

** 주의사항 : 접속메시지중에 #가 있다면, 구분자를 #로 설정하면 안된다.

 

명령어 히스토리 사이즈 설정

Router(config-line)# history size 사이즈

Router(config-line)#

** 화살표로 불러올 수 있는 명령어 수가 설정되었음

 

DNS설정

Router(config)# ip host [도메인] [ip주소]

** 해당 ip주소를 도메인을 사용하여 접근가능

 

DNS질의 안하기

Router(config)# no ip domain-lookup

** Translating "dd"...domain server (255.255.255.255) 이런거 안나옴

 

그냥 비밀번호 설정

Router(config)# enable password 사용할비번

* enable에 대하여 평문 비밀번호를 설정한다. 별말없으면 이걸 쓴다.

 

MD5해시로 비밀번호설정

Router(config)# enable secret 사용할비번

** enable에 대하여 MD5(128bit암호화 해시)로 비밀번호를 설정한다. 이상한 말붙여서 암호설정하라 하면 이걸 쓴

다.

 

모든 비밀번호에 대하여 암호화하기

Router(config)# service password-encryption

** 입력 될 모든 비밀번호에 대하여 암호화적용한다.

 

콘솔 비밀번호 설정

Router(config-line)# password 암호

Router(config-line)# login

** 링크 password는 비밀번호를 정하는 명령. login이 콘솔 비밀번호 기능을 활성화하는 명령.

cli껐다가 켜보면 비밀번호 치라고 함. 그게 이 비밀번호임

** 콘솔은 어떤 장치에 붙여놓고 사용하는 장치. 패킷트레이서에서는 cli로 표현되어있음

 

텔넷 접속 & 비밀번호 설정

Router(config)# username 아이디 password 비밀번호

Router(config)# line con 0

Router(config-line)# line vty 0 15

Router(config-line)# login local

→ username [아이디] privilege 15 password [비밀번호] 와 같이 로그인할 때부터 권한을 부여해줄 수 있다. (해

당 명령은 로그인후 관리자모드로 바로 접속함)

→ login은 비밀번호, login local은 아이디+비밀번호 두 가지를 같이 검증한다.

 

SSH접속설정

Router(config)# username [아이디] password [비번]

Router(config)# ip domain-name [ssh도메인]

Router(config)# crypto key generate rsa

Router(config)# line vty 0 4

Router(config-line)# login local

Router(config-line)# transport input ssh

 

TFTP 백업

Router(config)#copy [파일명] tftp

- (대충 파일 보낼 ip쓰라는 내용) - [ip주소]

- (대충 보낼파일 이름 정하라는 내용) - [이름]

** 파일 목록을 확인하려면 dir, show flash 등을 사용

** startup-config가 invalid이면 write명령으로 생성가능

 

클럭펄스 값 설정

Router(config)# int s0/0/0

Router(config)# clock rate 64000

Router(config)# no shut

 

enable진입시 (대충 15레벨 얻었다는 말) 나오게하기

Router(config)# logging userinfo

 

시험에서 사용하는 명령어 *라우터*

PPP PAP프로토콜

Router(config)#username [상대id] password [비번]

Router(config)#int s0/0/0

Router(config-if)#no shut

Router(config-if)#en ppp

Router(config-if)#ppp auth pap

Router(config-if)#ppp pap sent-username [이 기기 id] password [비번]

 

PPP CHAP프로토콜

Router(config)#username [상대id] password [비번]

Router(config)#int s0/0/0

Router(config-if)#no shut

Router(config-if)#en ppp

Router(config-if)#ppp auth chap

 

DHCP서비스 설정

Router(config)#ip dhcp pool [DCHP영역명]

Router(dhcp-config)#network [할당 네트워크 ip]

Router(dhcp-config)#default-router [디폴트 게이트웨이]

Router(dhcp-config)#dns-server [dns주소]

Router(config)ip dhcp excluded-address [할당제외주소 시작] [할당제외주소 끝]

 

DHCP Relay 설정

Router(config)#int [SUB인터페이스의 포트]

Router(config-subif)#ip helper-address [DHCP서버의 Ip]

 

라우터와 연결된 네트워크보기

Router(config)#do show ip route

 

라우팅 정보 라우팅 프로토콜 , 데이터가 내부로 전송 안되도록하기

Router(config-router)#passive-interactive [포트]

 

네트워크정보 전송시 요약 안하기

Router(config-router)#no auto-summary

 

RIP 라우팅

Router(config)#router rip

Router(config-router)#version 2 ** 버전2를 쓰고자 하는 경우에 입력

Router(config-router)#network [네트워크 ip] ** 필요한만큼 반복

* RIP은 동적라우팅이다. HOP 카운트는 15까지만 지원.

* 버전2는 내부정보가 외부로 전달된다.

 

OSPF라우팅

Router(config)#router ospf [프로세스ID]

Router(config-router)#network [네트워크 ip] [와일드카드마스크] area [에리어 넘버]

** OSPF는 서브넷요약을 하지 않는다. (no auto-summary가 필요없다)

 

EIGRP라우팅

Router(config)#router eigrp [as넘버]

Router(config-router)#network [네트워크 ip] [와일드카드마스크]

 

Static 라우팅

Router(config)#ip route [목적지 IP] [목적지 서브넷마스크] [경유할 IP or Interface명]

ex ) Router(config)#ip route 123.123.123.0 255.255.255.0 serial[0/0/0]

 

Default 라우팅

Router(config)#ip route 0.0.0.0 0.0.0.0 [패킷보낼 주소]

* 따로 지정안한 모든패킷에 대한 경로지정.

 

CDP

Router(config)#show cdp neighbors

Router(config)#show cdp neighbors detail

Router(config)#show cdp neighbors entry *

이웃한 디바이스 확인하는 프로토콜. 셋 중 하나 알아서 사용. detail은 ip주소 나옴.

 

표준 ACL(access-list)

특정 네트워크의 경우

Router(config)#access-list [리스트 번호] [permit / deny] [출발지] [출발지의 wildcard mask]

Router(config)#int [포트]

Router(config-if)#ip access-gruop [리스트 번호] [in/out]

 

텔넷/콘솔의 경우

Router(config)#access-list [리스트 번호] [permit / deny] [출발지] [출발지의 wildcard mask]

Router(config)#line vty 0 4

Router(config)#access-class 1 in

Router(config)#login

* ACL은 Top-Down방식.(특수한 상황 설정 → 일반적인 설정)

* access-group/class에서 in은 라우터 들어갈때, out은 나갈때 검사.

* 출발지+출발지wildcardmask를 뭉뜽그려서 any라고 적을 수 있다. 이 경우는 전부다를 말한다. any는 0.0.0.0/32

이다.

 

확장 ACL

Router(config)#access-list [리스트 번호] [permit / deny] [적용대상] host [출발지] host [목적지]

Router(config)#int [포트]

Router(config-if)#ip access-group [리스트 번호] [in / out]

* access-list에서 [적용대상]은 protocol 혹은 service가 올 수 있다. (예 : ping을 못날리게 하려면 icmp)

 

NAT

* 예제와 자세한 설명은 여기를 참고

1. Static NAT (주소 안바뀜)

Router(config)#ip nat inside source static [내부ip] [외부ip]

Router(config)#int [내부포트]

Router(config-if)#ip nat inside

Router(config)#int [외부포트]

Router(config-if)#ip nat outside

 

2. Dynamic NAT(클라이언트 요청에 따라 주소 바뀜)

Router(config)#ip nat [ACL명] [공인ip시작] [공인ip끝] netmask [공용네트워크 서브넷마스크]

Router(config)#ip nat inside source list [ACL번호] pool [ACL명]

Router(config)#access-list [ACL번호] [permit / deny] [공용네트워크ip] [공용네트웍 서브넷마스크]

Router(config)#int [내부포트]

Router(config-if)#ip nat inside

Router(config)#int [외부포트]

Router(config-if)#ip nat outside

 

PAT

는 NAT overload이다. Dynamic NAT의 첫줄의 끝에 overload 를 붙여준다

NAT : Router(config)#ip nat [ACL명] [공인ip시작] [공인ip끝] netmask [공용네트워크 서브넷마스크]

PAT : Router(config)#ip nat [ACL명] [공인ip시작] [공인ip끝] netmask [공용네트워크 서브넷마스크] overload

* 예제와 자세한 설명은 여기를 참고

 

시험에서 사용하는 명령어 *스위치*

STP

루트브릿지를 지정하는 경우

Switch(config)#spanning-tree vlan 1 priority 4096

* priority의 최소값 4096. 이후 4096씩 증가. 최대:65535. 기본 32769.

portfast로 지정하는 경우

Switch(config-if)#spanning-tree portfast

* 여러개의 포트 지정시, int range fa0/1-10 과 같이 선택할 수 있다.( 이 경우, Switch(config-if-range)로 표시 )

 

Port Security

Dynamic Port-security의 경우 : 최초통신시 MAC주소가 학습됨

Switch(config-if)#sw mode access

Switch(config-if)#sw port-security

정적으로 MAC주소를 지정할 경우 :

Switch(config-if)#sw mode access

Switch(config-if)#sw port-security mac-address [MAC주소]

Switch(config-if)#sw port-security

* 지정한 MAC이 아닐때 포트를 다운시키려면, Switch(config-if)#sw port-security violation shutdown 추가

 

접근가능한 MAC주소의 수를 지정할 경우 :

Switch(config-if)#sw mode access

Switch(config-if)#sw port-security maximum [접근가능한 수]

Switch(config-if)#sw port-security

 

VTP 설정

Switch(config)#vtp mode [설정할 모드] * Server, Client, Transparent

Switch(config-if)#vtp domain [도메인]

Switch(config-if)#vtp password [비번]

* 자세한 설명은 여기를 참고

 

VLAN 구성

하위 VLAN들에 대하여

Switch(config)#vlan 10

Switch(config-vlan)#name myvlan

Switch(config-vlan)#exit

Switch(config)#int fa0/1

Switch(config)#sw mode acc

Switch(config)#sw acc vlan 10

적당히 TRUNK로 지정할 포트에 대하여

Switch(config)#int fa0/24

Switch(config)#sw mode trunk

vlan이 잘 구성됐는지 확인하고 싶다면

Switch(config)#do show vlan

 

간단한 시험용 트릭 및 팁들

할당가능한 IP주소 구하기(서브넷마스크와 서브넷팅)

서브넷마스크는 [연속된1]+[연속된0]의 형태. 1은 네트워크영역, 0은 호스트영역.

대충 IP주소처럼 생겼음. ( 8자리.8자리.8자리.8자리 )

0으로 채워진 호스트영역이 할당에 사용할 수 있도록 허락된 공간. 기본 서브넷마스크는 IP 클래스마다 다름

서브넷마스크로 네트웍을 분리하는것 : Subnetting / 합치는 것 : Supernetting

예를 들어, 어떤 네트워크에 기본적으로 할당된 IP가 200.160.200.0/24라고 하자.

이 안에서 A망(컴퓨터 102대연결), B망(컴퓨터 60대연결)을 나눈다.

IP : 200.160.200.0

Subnet mask : 1111 1111 . 1111 1111 . 1111 1111 . 0000 0000

 

A클래스 망

컴퓨터에 들어갈 IP 102개 + zerobit 1개 + broadcast 1개 = 104(hostbit 갯수)

호스트비트 갯수인 104보다 큰, 2의 제곱수는 128 = 2^7 -> 7bit

서브넷마스크는 255.255.255. 1000 0000 로 한자리 잡아먹도록 한다. 0이 7개 남았다. 이걸 A망에 준다.

전체네트워크에서 A망이 잡아먹는 영역은 200.160.200.0~200.160.200.127 (총 128개 주소)

여기서 200.160.200.0은 zerobit로, 200.160.200.127은 broadcast로 사용

실제로 쓸모있게 할당할 수 있는 부분은 200.160.200.1~200.160.200.126(총 126개 주소)

A네트워크의 IP : 200.160.200.0/25

A네트워크 가용IP : 200.160.200.1 ~ 200.160.200.126

→ 문제에서 자주 물어보는 '사용가능한 마지막 IP'는 200.160.200.126이다.

 

B클래스 망

A망에서 이미 서브넷마스크의 첫자리를 잡아먹었다. IP도 .127까지 잡아먹었다.

전체 네트워크에서 남은 IP영역 : 200.160.200.128 ~ 200.160.200.255

계산을 시작할 서브넷마스크 : 255.255.255. 1000 0000

B망에서 컴퓨터에 들어갈 IP 60개 + 제로비트 1개 + 브로드캐스트 1개 = 62

그러므로 필요한 호스트비트수는 64(62보다 큰 2의 제곱수) = 2^6 -> 6bit

서브넷마스크를 한 자리 더 먹어 255.255.255. 1100 0000 으로 사용하자. 호스트비트가 6비트가 됐다.

B망이 사용하는 IP범위 : 200.160.200.128 ~ 200.160.200.191

B 네트워크의 IP : 200.160.200.129 / 27

가용 IP범위 : 200.160.200.129 ~ 200.160.200.190

사용 가능한 마지막 IP주소 : 200.160.200.190

 

radius AAA Server 설정

1. Server 기기에서

[config]탭 - 좌측[AAA]메뉴

Service : ON

Network configuration : Client Name-알아서, Client IP-라우터ip, secret-키

User setup : Username-유저네임, Password-비번

 

2. 라우터에서

Router(config)#aaa new-model

Router(config)#aaa authenti login default group radius

Router(config)#radius-server host [서버ip]

Router(config)#radius-server secret [서버 키값]

 

3. 만약 콘솔/텔넷에 AAA서버인증을 받게하고싶다면

Router(config)#line con 0

Router(config)#login auth default

Router(config)#line vty 0 4

Router(config)#login auth default

을 추가한다

 

inter-vlan설정

1. Router에서

절차 : 포트선택 → (서브인터페이스 설정 → 802.1q설정 → ip설정)

Router(config)# int fa0/0

Router(config-if)# no shut

Router(config-if)# int fa0/0.10

Router(config-subif)# en do 10

Router(config-subif)# ip addr 111.111.111.111 000.000.000.000

Router(config-if)# int fa0/0.20

Router(config-subif)# en do 20

Router(config-subif)# ip addr 222.222.222.222 000.000.000.000

* 여기서 입력되는 ip는, VLAN당사자의 입장에서는 default-gateway이다.

 

2. Switch에서

절차 : 각vlan설정 → 라우터 트렁크모드 설정 → vlan네트워크지정 ip설정(필요시)

Switch(config)#vlan 10

Switch(config)#name aaaa

Switch(config)#vlan 20

Switch(config)#name bbbb

Switch(config)#int fa0/1

Switch(config-if)#sw acc vlan 10

Switch(config-if)#sw mode acc

Switch(config)#int fa0/2

Switch(config-if)#sw acc vlan 20

Switch(config-if)#sw mode acc

Switch(config)# int fa0/24

Switch(config-if)# sw mode trunk

Switch(config)# int vlan 20

Switch(config-if)# ip addr [스위치ip] [스위치subnet mask]

Switch(config)#ip def [vlan20의 default-gateway]

 

DHCP설정 절차

1. Router에서

** server가 있는 네트워크는 해줄필요없다. 나머지 vlan들만 해준다.

ip dh pool [풀 이름]

network [vlan네트워크 주소]

def [vlan의 default gateway]

dns [서버 ip주소]

exit

(반복해서 위 절차 수행)

ip dh ex [시작] [끝]

** 대체로 시작은 ~.1 부터

ip dh ex [시작] [끝]

** 대체로 끝은 ~.255까지

 

2. 각 기기에서

ip설정 들어가서 static누른다음 DHCP를 선택. 받아져오면 성공

만약 안받아져오는경우

- 우선 스위치의 VLAN설정을 다시해보자

- 안된다면, 라우터에서 해당 인터페이스 설정을 다시해보자

- 여기까지 해서 안되면, 일단 라우터 start-config를 밀어버리고 새로시작하는게 빠르다

- 라우터 밀고도 안되면, 스위치도 밀고 하는게 빠르다(어차피 시간은 남는다)

 

문제를 대하는 자세

1. 주소 정리

네트워크, 가용ip범위, 디폴트게이트웨이, 서브넷마스크10진수로 정리해두고 시작한다.

 

2. 라우터 설정

시덥잖은설정 : enable패스워드, 암호화여부, 호스트네임, logging info, 초기화여부

DHCP설정

인터페이스 설정 : 보통 inter-vlan

라우팅 : rip, rip version2, ospf, eigrp 및 static, default

콘솔, 텔넷, PPP, radius 설정

 

3. 스위치설정

vlan

 

4. 테스트

완벽하게 돌아간다고 대충 판단하는 기준 : DHCP로 IP는 잘 불러오는지? 웹서비스는 잘 들어가지는지? 이메일은 되

는지?

SImple PDU로 어디까지 안되는지 확인 ( 같은 스위치 아래끼리 되는지 → switch까진 되는지? → router까진 되는

지? → router너머 스위치 까지 되는지? → router너머 단말까지 되는지? )

다시 밀고 하기 순서 : 단말 확인 → 스위치 포트 재설정 → 라우터 포트 재설정 → 라우터 밀기 → 스위치 밀기

 

이메일이 안된다

각 단말에서 1. DNS주소에 서버의 IP를 잘 넣었는가

2. 서버에서 DNS설정을 했는가

3. 오타난게 아닌가

4. 다 안되면 편하게 라우터를 밀고 시작하도록 하자

 

PDU가 FAIL이다

1. 두 세번 더해본다

2. 혹시 해당 회차의 PDU가 아니라 다른걸 보고있는게 아닌지 확인.

패킷트레이서 1~9까지 위에서 아래로 잘 가다가, 10번은 1번 밑에있다. 20번은 2번 밑에있다.

3. 그래도 안되면 안되는거 맞다. 밀고 시작하자.

 

라우팅 해야되는데, 연결된 네트워크 정보가 제대로 안뜬다

1. ospf, rip등으로 라우팅을 하기 위해서 do show ip route로 네트워크 정보를 보려고 하는데,

안뜨는 경우가 발생할 수 있다.

2. 인터페이스 설정을 해줬는지 확인

3. 인터페이스가 다운된게 아닌지 확인 (CLI에서 no shut으로 해결)

4. 뭔가 하드웨어연결 자체가 잘못된게 아닌지 확인

5. 잘 모르겠으면 밀고 다시시작

 

라우터 flash에 있는 파일 TFTP백업이 안된다

1. 높은 확률로 라우터에서 TFTP서버쪽 인터페이스 설정을 잘못했다.

(ip address입력시 default gateway가 아닌 host를 입력)

2. copy [파일] tftp가 아닌, copy tftp ___ 로 입력한 것이 아닌지 확인

 

디폴트 라우팅 절차

1. CDP를 켠다

Router(config)# cdp run

2. 인접 디바이스를 조사한다

Router(config)# do show cdp neighbors detail

( 대충 필요없는 디바이스 정보 )

( 대충 버전 몇이라는 말 )

Device ID: ISP

Entry address(es):

IP address : 100.100.100.1

Platform: cisco C2800, Capabilities: Router

Interface: Serial0/0/0, Port ID (outgoing port): Serial0/0/0

( 대충 버전 몇이라는 말 )

3. 디폴트 라우팅한다. ip route [0] [0] [아까 조사한 아이피]

Router(config)# ip route 0.0.0.0 0.0.0.0 100.100.100.1

728x90

이더넷 스위칭과 IP 라우팅 기능을 겸비한 Layer 3 스위치의 주요 특징은 다음과 같습니다.

 

• QoS (Quality of Service)

일반적인 네트워크 환경에서는 트래픽이 폭주할 경우 사용자의 데이터는 자동적으로 유실(drop)됩니다.

그러나 QoS 를 지원하는 스위치는 IEEE 802.1p CoS 표준안에 기반하여 트랙픽을 여러 개의 등급으로

나누고, 각 등급의 처리 순서를 다시 정립합니다(reprioritize). QoS 는 중요한 데이터의 우선 순위를 정해

놓음으로써 데이터이 유실을 막고, 패킷마다 차등화 된 대역폭을 제공하여 전송 지연을 방지합니다.

 

• 멀티캐스트 통신

이 스위치는 IGMP Snooping 기능과 IGMP Querier 기능을 제공하기 때문에 멀티캐스트 통신이 가능한

장비입니다. 멀티캐스트 통신은 필요로 하는 호스트들에게만 패킷을 전송하기 때문에 불필요한 패킷으로

과부하 현상이 일어나는 것을 막을 수 있습니다.

 

• SNMP (Simple Network Management Protocol)/RMON (Remote Monitoring)

SNMP 기능이 탑재된 스위치는 원격에서 스위치 상태를 확인하고 관리할 수 있습니다. 스위치는 SNMP

버전 1 과 2 과 4 가지 그룹의 RMON 을 지원, 관리자가 원하는 때에 원하는 통계 자료를 볼 수 있습니다.

 

• IP 라우팅

스위치는 일반적으로 OSI 계층 가운데 Layer 2 에 해당하는 동작을 합니다. 그러나, Layer 3 스위치는

라우터가 가지고 있는 기능인 IP 라우팅을 실현, 라우터를 별도로 설치할 필요가 없기 때문에 장비 추가에

따른 비용을 줄일 수 있습니다.

 

• ARP-Alias

스위치는 장비에 등록되어 있지 않은 IP 주소에 대해 ARP 응답을 해줄 수 있습니다. 이러한 기능은 서로

통신이 불가능한 노드들 간의 통신을 해소해줄 수 있습니다.

 

• 네트워크 기반의 IP 패킷 Forwarding

새로워진 스위치는 IP 패킷을 Forwarding 하는 방법을 네트워크 단위로 기억할 수 있게 함으로써 스위칭

칩에서 기억할 수 있는 엔트리를 확대시켰습니다. 네트워크 기반의 IP 패킷 Forwarding 방법은 최대

13 개까지 기억할 수 있습니다.

 

• DHCP Server 및 Relay 기능

스위치는 클라이언트에게 자동으로 IP 주소를 부여하는 DHCP 기능을 지원하여 한정된 네트워크 자원을

보다 효율적으로 이용하도록 합니다. 특히 DHCP 서버는 중앙에서 일괄적으로 IP 주소를 관리하여 네트워크

관리 비용을 절감시켜 줍니다.

 

• VLAN(Virtual Local Area Network)

VLAN 이란 네트워크 관리자가 하나의 네트워크를 논리적으로 분리하여 만든 가상 LAN 을 말합니다. VLAN 은

물리적으로는 같은 네트워크 상에 있지만 사용자의 설정에 따라 같은 네트워크로 구성된 영역에서만 패킷을

주고 받을 수 있기 때문에 대역폭을 경제적으로 활용할 수 있을 뿐만 아니라 보안 효과가 뛰어납니다.

스위치는 하나의 시스템 당 최대 256 개의 VLAN 을 구성할 수 있습니다.

 

• Proxy-ARP

Proxy-ARP 는 쉽게 말해 다른 장비의 ARP 응답을 대신 해 줄 수 있는 기능으로 서로 다른

서브네트워크간의 통신을 가능하게 해 줍니다.

 

• 패킷 필터링

IP 패킷 필터링은 특정 장비나 사용자만이 네트워크에 접속할 수 있도록 네트워크 사용을 제한할 수 있는

기능입니다. 스위치는 이 기능을 이용하여 사용자는 불필요한 정보를 차단하고 특정 데이터가 유출되는

것을 방지하는 것은 물론 신원이 확인되지 않은 사용자를 차단함으로써 네트워크 보안을 강화할 수

있습니다. 한편, 다른 Source IP 주소를 가지고 외부로 나가는 패킷을 차단하는 Martian-filter 기능과

아파트나 특정한 지역에 LAN 서비스로 인터넷 통신이 제공되는 경우, 사용자들의 정보를 보장하는

NetBIOS 필터링도 제공합니다.

 

• 스택킹 (Stacking)

스위치 그룹에서 master 로 지정된 스위치가 하나의 IP 주소를 가지고 나머지 스위치(slave 스위치)를 설정

및 관리, 모니터링 할 수 있는 기능입니다. 하나의 IP 주소로 여러 대의 스위치를 관리할 수 있기 때문에 IP

자원을 절약할 수 있습니다.

 

• Link aggregation

스위치는 여러 개의 물리적인 인터페이스를 하나의 논리적인 포트로(aggregate port) 통합하는 포트 트렁크

기능을 지원합니다. 포트 트렁크는 동일한 속도, 동일한 duplex 모드, 동일한 VLAN ID 를 기준으로

인터페이스를 통합합니다. 스위치는 트래픽을 줄이고 장애 복구 기능을 향상 시키기 위해 IEEE 802.3ad

표준안에 따라 최대 8 개의 포트를 포괄하는 통합 포트를 6 개까지 설정할 수 있습니다.

 

• LACP(Link Aggregation Control Protocol)

스위치는 IEEE 802.3ad 표준을 기반하는 LACP 를 지원하는데, 이는 LACP 를 지원하는 장비간에 더 많은

전체 대역을 할당할 수 있도록 장비간 다중 연결 결합을 허용합니다.

 

• 대역폭 설정(Rate-limit)

스위치는 모든 포트에 대해 차등화된 대역폭을 제공합니다. 사용자의 요구에 따라 차등화된 대역폭을

제공함으로써 ISP 사업자는 차등화된 요금을 책정할 수 있을 뿐만 아니라 보다 효율적이고 경제적인 회선

관리가 가능합니다.

 

• Flood Guard 설정

Rate Limit 는 포트 대역폭을 설정하여 패킷의 양을 조절하는 것과는 달리 1 초 동안 수용할 수 있는 패킷

개수를 제한하여 패킷을 조절하는 Flood Guard 기능을 제공합니다.

 

• STP(Spanning Tree Protocol)

STP 란 네트워크 상에서 루프가 계속해서 발생하는 것을 방지하기 위한 네트워크 관리 프로토콜입니다.

루프를 방지하기 때문에 트래픽 전송 속도를 유지하도록 도와줍니다. 스위치는 이러한 STP 기능을 가지고

있습니다.

 

• PVST(Per VLAN Spanning Tree)

스위치는 VLAN 마다 STP 이 독립적으로 동작하는 PVST(Per VLAN Spanning Tree)를 지원합니다. PVST(Per

VLAN Spanning Tree)는 VLAN 마다 STP 가 하나씩 돌기 때문에 하나의 VLAN 에서 루프가 발생하여 전체

네트워크가 다운되는 현상을 막을 수 있습니다.

 

• RSTP(Rapid Spanning Tree Protocol) (802.1w)

스위치는 IEEE 802.1W 표준안에 따른 RSTP(Rapid Spanning Tree Protocol)를 지원하여 메트로 이더넷의

RING 환경이나 기존 P-to-P 환경에서 안정적이고 융통성있는 망구성이 가능합니다. RSTP 는 소규모 스위치

네트워크에서 STP Reconvergency 시간을 혁신적으로 감소시키기 위한 목적으로 개발된 것으로, Redundant

link 를 갖는 Layer 2 스위치에서 Fail over 시간을 획기적으로 단축시킵니다.

 

• 시스템 관리

ⅰ) Web 기반 관리

웹을 기반으로 언제 어디서나 사용 가능한 GUI 모듈입니다. 스위치를 이용하여 관리자는 스위치를 설정하고

유지, 관리할 수 있습니다.

이 모듈을 사용하여 사용자는 네트워크에 연결된 시스템과 포트의 동작 상태를 확인하는 것은 물론

네트워크 구성도도 출력할 수 있습니다.

ⅱ) CLI 기반 DSH

사용자는 명령문 형식으로 구성된 DSH 을 이용하여 하나의 스위치나 스위치 그룹 전체를 설정하고

모니터링할 수 있습니다. 콘솔 터미널 프로그램이 설치된 PC 와 스위치 콘솔을 연결하거나 텔넷 서비스를

이용하여 DSH 을 이용할 수 있습니다.

 

• 편리한 Dual OS 기능(※ 일부 기종 지원)

스위치의 일부 기종은 두 가지의 NOS 이미지를 저장할 수 있습니다. NOS 이미지를 두 가지를 저장하여

사용하기 때문에 하나의 NOS 이미지만 저장하여 사용할 때보다 사용자 환경에 따라 알맞은 이미지 파일을

재빠르게 대응할 수 있습니다.

 

• 802.1x 기반 사용자 인증

스위치는 IEEE 802.1x 를 기반으로 한 사용자 인증 정책을 포트별로 설정할 수 있습니다. 802.1x 를 설정한

사용자 인증 포트는 RADIUS 서버를 통해 접속 권한 여부를 판단, 권한을 가지고 있는 접속자만 사용이

가능하기 때문에 네트워크 관리의 보안과 이동성을 높일 수 있습니다.

 

• RADIUS 및 TACACS+

스위치는 사용자 인증 프로토콜로 RADIUS(Remote Authentication Dial-In User Service)와 Tacacs+(Terminal

Access Controller Access Control System+)를 지원합니다. 스위치에 등록되어 있는 사용자 ID 와 Password

이외에도 RADIUS 서버와 TACACS+ 서버를 통하여 인증을 받아야 하기 때문에 시스템 관리 및 네트워크

관리의 보안성을 높였습니다.

 

• SSH 서버

스위치는 SSH(Secure Shell) 서버를 활성화 함으로써 telnet, ftp 서비스에 보안성을 높일 수 있습니다.

 

• 브로드캐스트 Storm Control

브로드캐스트 Storm 이란, 다량의 브로드캐스트 패킷이 네트워크상에 전송되면서 전송 용량의 대부분을

점유함에 따라 네트워크 타임 아웃이 발생하는 현상을 말합니다. 스위치는 사용자가 설정한 시간동안 한계

값을 넘는 브로드캐스트 패킷, 멀티캐스트 패킷, 그리고 DLF 패킷을 폐기하는 브로드캐스트 Storm

Control 을 지원합니다.

728x90

[ 스위치 모드 변경하기 ]

① Switch>enable ☞ 유저모드(User Mode) ② Switch#config terminal ☞ 프리빌리지 모드(관리자모드)

③ Switch(config)#interface fastethernet 0/1 ☞ 구성모드(configuration mode)

④ Switch(config-if)# ☞ 인터페이스 구성모드

⑤ Switch(config-if)#exit -> 빠져나가기

⑥ Switch(config)#exit ⑦ Switch# exit ⑧ Switch> enable

⑨ Switch# show interface status -> 포트별 상태를 알아보기 ( 명령어는 반드시 관리자모드에서

입력해야한다.)

⑩ Switch# show ? -> show 다음 입력할 수 있는 명령어 모음 표시

⑪ Switch# show interface ?

⑫ Switch# show interfaces -> 각 포트의 설정보기 ⑬ Switch# show interface -> 각 포트의 설정보기

 

[ 포트설정 바꾸기 ]

① Switch>enable ② Switch# configure terminal

③ Switch(config)# interface fastethernet 0/1

④ Switch(config-if)# speed 100 -> 속도를 100M 로 설정

⑤ Switch(config-if)# duplex full -> 전송방식을 전이중으로 설정

⑥ Switch(config-if)# exit -> 구성모드로 가기 ⑦ Switch(config)# exit -> 관리자 모드로 가기

⑧ Switch# show interface status

⑨ Switch# show interface fastethernet 0/1 (speed {auto | 100 | 10 } duplex {auto | half | full} )

 

1 번 포트를 속도(대역폭)은 100Mbps, 통신방식은 Full-duplex ,2 번 포트를 속도(대역폭)은 10Mbps,

통신방식은 half-duplex 로 설정하시오.

 

[ hostname 설정하기]

① Switch#config terminal ② Switch(config)# hostname atom 또는 hostname 노무현

노무현# //atom 은 이름이므로 다른 이름을 마음대로 사용할수 있다.

 

[ secret 암호설정하기]

① Switch# config terminal

② Switch(config)# enable secret atom123 //암호는 자유롭게 지정할 수 있다.(암호는 구성모드에서

지정한다)

③ Switch(config)# exit ④ Switch# exit

Switch> enable

Password: ******

Switch# // 이제는 암호를 넣어야 관리자모드로 들어갈 수 있다.

 

[ 스위치에 IP 주소 설정하기 ]

① Switch> enable ② Switch# config terminal

③ Switch(config)# interface vlan 1 ④ Swtitch(config-if)# ip address 192.168.100.1 255.255.255.0

⑤ Switch(config-if)# exit ⑥ Switch(config)# exit

⑦ Switch# show interface vlan1 또는 vlan 1

 

[ 기본 게이트웨이 설정하기 ]

① Switch# config terminal ② Switch(config)# ip default-gateway 192.168.0.1

③ Switch(config)# exit ④ Switch# show running-config // 현재 스위치에 설정된 모든 내용 보여주기

 

[ 암호 삭제하기 ] ① Switch(config)# no enable secret password 지정한 암호

 

[ 라우터 명령어 집합 ]

Router>enable (사용자모드에서 관리자모드로 전환하기)

 

[현재 사용하고 있는 구성파일 보기-RAM]

Router# show running-config 또는 write terminal

 

[NVRAM 에 저장된 구성파일 보기]

Router# show startup-config

 

[현재 구성을 NVRAM 에 저장하기]

Router# write memory 또는

copy running-config startup config

 

[ 플래시 메모리 정보보기 ]

Router# show flash

 

[ 라우터의 현재정보 보기 ]

Router# show version

 

[ 인터페이스 정보보기 ]

Router# show interface

 

[ 이더넷 인터페이스 0 번 보기 ]

Router# show interface ethernet 0

 

[ 라우터 CPU 사용률 보기 ]

Router# show processes cpu

 

[ 라우터 메모리 상태 보기 ]

Router# show memory

 

[ 구성모드로 들어가기 ]

Router# configure terminal

Router(config)# CTRL + P -> 명령어 히스토리 단축키

 

[ 라우터의 이름과 enable secret , enble password 설정하기 ]

Router(config)# hostname CISCO-2500

CISCO-2500(config)# enable secret cisco

CISCO-2500(config)# enable password seoul

CISCO-2500(config)# exit

CISCO-2500# exit

CISCO-2500> enable

Password: secret 암호가 설정되어있으면 secret 를 넣는다. 암호는 대소문자 구분합니다.

CISCO-2500# show running-config (현재 설정된 구성정보보기)

secret 암호와 패스워드 암호가 보인다.

 

[ 텔넷 접속 패스워드 설정하기 ]

CISCO-2500> enable

Router#> configure terminal

Router(config)# line vty 0 4

Router(config-line)#login ( 라인구성모드 )

Router(config-line)#password korea

Router(config-line)# exit

Router(config)#

 

[ 인터페이스 구성모드 들어가서 이더넷에 IP 주소 할당하기 ]

Router# configure terminal

Router(config)# interface ethernet 0

Router(config-if)# no shutdown ( 인터페이스 살리기 )

Router(config-if)#ip address 211.23.156.30 255.255.255.224

Router(config-if)# exit

Router(config)# exit

 

[ 시리얼 인터페이스 설정하기 ]

Router# configure terminal ( 구성모드로 들어가기 )

Router(config)# interface serial 0

Router(config-if)# no shutdown

Router(config-if)# ip address 10.123.51.41 255.255.255.252

Router(config-if)# exit

Router(config)# exit

Router# show running-config (현재 구성설정보기 )

ethernet 0 에 할당된 IP 주소를 확인한다. 텔넷에 할당된 암호를 확인한다.

Router# show interface ( 현재 인터페이스 보기 )

이더넷 0 가 up 으로 설정되어 있는지 확인한다.

 

[ 라우팅 프로토콜 설정하기 ]

Router> enable

Router# config terminal

Router(config)# router igrp 100

Router(conifg-router)# network 211.23.156.0

Router(conifg-router)# network 10.0.0.0

Router(conifg-router)# Ctrl+Z(exit) ( 프리빌리지모드로 나가기)

Router# show running-config ( 구성파일 보기 )

 

[RAM 의 구성파일을 NVRAM 에 저장하기]

Router# copy running-config startup-config

 

[ 플래시 메모리 내용보기 ]

Router# show flash

 

[IOS 이미지 파일을 TFTP 서버로 백업하기]

Router# copy flash tftp

 

[ TFTP 서버에서 플래시메모리 IOS 파일 복원하기 ]

Router# copy tftp flash

 

[ 라우터의 구성파일 백업하기 ]

Router# copy startup-config tftp

 

[라우터의 구성파일 복원하기]

Router# copy tftp startup-config

 

[ 라우팅 테이블 보기 ]

Router# show ip route

 

[ 스태틱 라우팅 구현하기 ]

Router# configure terminal

Router(config)# ip route 210.162.65.0 255.255.255.0 203.155.10.2 1

Router(config)# exit

Router# show ip route

 

[ 디폴트 라우팅 설정하기 ]

Router>enable

Router# configure terminal

Router(config)# interface ethernet 0

Router(config-if)# ip address 211.23.123.1 255.255.255.0

Router(config-if)# exit

Router(config)# interface serial 0

Router(config-if)# ip address 61.105.112.41 255.255.255.252

Router(config-if)# exit

Router(config)# ip route 0.0.0.0 0.0.0.0 61.105.112.42

Router(config)# exit

Router# write

Router#

728x90

728x90

IP 및 서브넷 문제.

 

1. IP Address "128.10.2.3"을 바이너리 코드로 전환하면 어떤 값이 되는가?

가. 11000000 00001010 00000010 00000011

나. 10000000 00001010 00000010 00000011

다. 10000000 10001010 00000010 00000011

라. 10000000 00001010 10000010 00000011

 

2. 네트워크상에서 기본 서브넷 마스크가 구현될 때 IP Address가 203.240.155.32인 경우 아래 설명 중 올바른 것은?

가. Network ID는 203.240.155이다.

나. Network ID는 203.240 이다.

다. Host ID는 155.32가 된다.

라. Host ID가 255일때는 루프백(Loopback)용으로 사용된다.

 

3. B Class 네트워크에서 6개의 서브넷이 필요할 때, 가장 많은 호스트를 사용할 수 있는 서브넷 마스크 값은?

가. 255.255.192.0 나. 255.255.224.0

다. 255.255.240.0 라. 255.255.248.0

 

4. C Class의 IP Address에 대한 설명으로 옳지 않은 것은?

가. Network ID는 “192.0.0 ~ 223.255.255”이고, Host ID는 “1 ~ 254”이다.

나. IP Address가 203.240.155.32 인 경우, Network ID는 203.240, Host ID는 155.32가 된다.

다. 통신망의 관리자는 Host ID "0", "255"를 제외하고, 254개의 호스트를 구성할 수 있다.

라. Host ID가 255일 때는 메시지가 네트워크 전체로 브로드 캐스트 된다.

 

5. IPv4에서 처음 옥테트(Octet)의 상위 비트가 ‘10'으로 시작하는 Class는?

가. A Class 나. B Class

다. C Class 라. D Class

 

6. A회사에 호스트가 2,500대 존재한다. 이 경우 B Class 주소를 할당받게 되면 주소의 낭비가 심하므로 이에 대한 해결책으로 연속된 C Class를 13개 신청하여 이들을 하나의 네트워크로 구성하려고 한다. 서브넷의 올바른 설정은?

가. 255.255.240.0 나. 255.255.255.240

다. 255.255.128.0 라. 255.255.192.0

 

7. 가장 많은 Network 수를 제공하는 Class는?

가. A Class 나. B Class

다. C Class 라. D Class

 

8. C Class의 네트워크에서 호스트 수가 12개 일 때 분할할 수 있는 최대 서브넷 수는?

가. 2 나. 4

다. 8 라. 16

 

9. 인터넷에서 사용되는 네트워크 C Class에서 한 네트워크 내의 일반적인 최대 호스트 수는?

가. 65,534 나. 254 

다. 1,024  라. 128 

 

10. B Class에 대한 설명 중 옳지 않은 것은?

가. Network ID는 128.0 ~ 191.255 이고, Host ID는 0.1 ~ 255.254 가 된다.

나. IP Address가 150.32.25.3인 경우, Network ID는 150.32 Host ID는 25.3 이 된다.

다. Multicast 등과 같이 특수한 기능이나 실험을 위해 사용된다.

라. Host ID가 255.255일 때는 메시지가 네트워크 전체로 브로드 캐스트 된다.

 

11. B Class의 호스트 ID에 사용 가능한 Address 개수는?

가. 116,777,224개 나. 65,534개

다. 254개 라. 126개

 

12. 호스트의 IP Address가 “201.100.5.68/28” 일 때, Network ID로 올바른 것은?

가. 201.100.5.32 나. 201.100.5.0

다. 201.100.5.64 라. 201.100.5.31

 

** 다음의 각 IP 어드레스의 서브넷, 브로드케스트 어드레스, 그리고 유효한 호스트의 범위를 적으시오. 

 

13. 172.16.10.5 255.255.255.128

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 :

 

14. 172.16.10.33 255.255.255.224

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

15. 172.16.10.65 255.255.255.192

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

16. 172.16.10.17 255.255.255.252

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

17. 172.16.10.33 255.255.255.240

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

18. 192.168.100.25 255.255.255.252

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

19. 192.168.100.17 서브넷팅을 위해 4비트 사용 

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

20. 192.168.100.62 서브넷팅을 위해 3비트 사용

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

21. 192.168.100.17 255.255.255.248

서브넷 : 

브로드케스트 어드레스 : 

유효한 호스트의 범위 : 

 

22.  RFC 1918에 정의된 IPv4 주소의 사설 대역의 영역을 각 클래스 별로 적으시오.

728x90

문제1)

회사에서 211.168.83.0 (클래스C)의 네트워크를 사용하고 있다. 내부적으로 5개의 서브넷을 사용하기 위해 서브넷 마스크를 255.255.255.224로 설정하였다. 이때, 211.168.83.34가 속한 서브넷의 브로드캐스트 주소는?

 

10000000 -> 128

11000000 -> 192

11100000 -> 224

 

서브넷마스크가 ~.224이니까 3개 비트를 쓴 것이므로 2^3=8, 8개로 분할해야 함

256개를 8개로 분할한 것이기 때문에 한개당 32가 됨

 

0~31

32~63 -> 34는 여기 속하므로 브로드캐스트 주소는 211.168.83.63

64~95

 

문제2)

어느회사 A가 공인 IP 주소가 210.100.1.0인 네트워크를 받았다. A사의 건물은 8층이며 각 층마다 네트워크를 달리했으면 한다. 각 층별로 컴퓨터 30대를 놓으려면 서브넷마스크는 어떻게 되는가?

 

30개라는 것은 256을 8로 분할했을 때 32개이므로 8개로 분할하겠다는 뜻임

8=2^3이므로 앞 세비트가 1이면 됨

11100000 = 224

 

따라서 서브넷마스크 255.255.255.0에서 255.255.255.224로 서브넷팅을 하면 각 8개층이 32개씩 사용할 수 있게됨 (여기서 브로드캐스트 주소를 빼고 하나더 뭐였는지 기억이 안나는데 -2를 하면 30개)

 

문제3)

IP주소 203.10.24.27의 서브넷마스크는 255.255.255.240이다. 이때 네트워크의 호스트 범위와 브로드캐스트 주소는?

 

10000000 -> 128

11000000 -> 192

11100000 -> 224

11110000 -> 240

 

서브넷마스크가 240이므로 11110000이고 2^4=16개로 분할하겠다는 의미임

256/16 = 16이기 떄문에 범위는

0~15

16~31 -> 27이므로 호스트 범위는 203.10.24.16 ~ 203.10.24.31이 되고 브로드캐스트 주소는 31이 됨

32~47

 

문제4)

C클래스 IP 대역을 사용중인 것을 각 사무실마다 51개의 IP를 각각 부여하려할때 사용할 수 있는 서브넷마스크의 비트수는?

 

10000000 -> 128 -> 2^1 = 2개로 분할 -> 256/2 = 128개

11000000 -> 192 -> 2^2 = 4개로 분할 -> 256/4 = 64개 -----> 51개의 IP 부여 가능

11100000 -> 224 -> 2^3 = 8개로 분할 -> 256/8 = 32개

11110000 -> 240

 

따라서 서브넷마스크는 255.255.255.192이고 비트수는 26비트(1*24 + 2)

'IT > 네트워크(Network)' 카테고리의 다른 글

Cisco SG350-10-K9  (0) 2021.07.04
IP 및 서브넷 문제(22문항)  (0) 2021.07.04
DNS IP 주소(Google, Cloudflare)  (0) 2021.07.04
OpenWRT에서 IPv6 비활성화 하기  (0) 2021.07.04
OpenWRT 보안 강화하기  (0) 2021.07.04
728x90

Google DNS IP addresses

(IPv4)

8.8.8.8

8.8.4.4

 

(IPv6)

2001:4860:4860::8888

2001:4860:4860::8844

 

Cloudflare DNS IP addresses

(IPv4)

1.1.1.1

1.0.0.1

 

(IPv6)

2606:4700:4700::1111

2606:4700:4700::1001

728x90

uci set 'network.lan.ipv6=off'

uci set 'network.wan.ipv6=off'

uci set 'dhcp.lan.dhcpv6=disabled'

/etc/init.d/odhcpd disable

uci commit #설정저장

'IT > 네트워크(Network)' 카테고리의 다른 글

서브넷마스크 계산문제(4문항)  (1) 2021.07.04
DNS IP 주소(Google, Cloudflare)  (0) 2021.07.04
OpenWRT 보안 강화하기  (0) 2021.07.04
OpenWRT 안전하게 종료하기  (0) 2021.07.04
OpenWRT 패키지 설치하는 방법  (0) 2021.07.04
728x90

Recommended security settings

 

The following settings are highly recommended to complete before connecting to the Internet。

 

Set a secure password

Only allow access to ssh from lan, change the port

Only allow local devices to access luci

 

Edit /etc/config/uhttpd,Change the original 0.0.0.0 and [::] addresses to the local lan address, for example:

 

# HTTP listen addresses, multiple allowed

list listen_http 192.168.2.1:80

list listen_http [fd00:ab:cd::1]:80

 

# HTTPS listen addresses, multiple allowed

list listen_https 192.168.2.1:443

list listen_https [fd00:ab:cd::1]:443

 

Restart the service:

/etc/init.d/uhttpd restart

728x90

Safe shutdown operation

 

Enter the ttyd terminal, enter the poweroff command and hit enter, wait until the led light is off, and then unplug the power supply.

(ttyd 터미널에 들어가서 poweroff 명령을 입력하고 enter를 누른 다음, led light가 꺼질 때까지 기다렸다가 전원 공급기의 플러그를 뺍니다.)

728x90

Install Software Packages

 

1. Update Package List

Before install software packages update the package list:

$ opkg update

 

2. List Available Packages

$ opkg list

 

3. List Installed Packages

$ opkg list-installed

 

4. Install Packages

$ opkg install <package names>

 

5. Remove Packages

$ opkg remove <package names>

+ Recent posts