반응형
작성일: 2023년 9월

 

내 PC가 연결된 LAN에 어떤 Network node들이 있는지 궁금하다면, 아래와 같이 netdiscover 명령을 사용하면 된다.

 

 

$ netdiscover -r 10.1.1.0/24

 Currently scanning: Finished!   |   Screen View: Unique Hosts

 17 Captured ARP Req/Rep packets, from 13 hosts.   Total size: 966
 _____________________________________________________________________________
   IP            At MAC Address     Count     Len  MAC Vendor / Hostname
 -----------------------------------------------------------------------------
 10.1.1.51       5a:ae:25:ab:f1:40      1      42  Unknown vendor
 10.1.1.1        1c:df:0f:ab:f1:cf      1      60  Cisco Systems, Inc
 10.1.1.2        2c:1a:05:ab:f1:cc      1      60  Cisco Systems, Inc
 10.1.1.50       00:e0:4c:ab:f1:a3      1      42  REALTEK SEMICONDUCTOR CORP.
 10.1.1.53       52:54:00:ab:f1:f8      1      42  Unknown vendor
 10.1.1.56       00:07:32:ab:f1:7f      1      60  AAEON Technology Inc.
 10.1.1.98       04:5e:a4:ab:f1:d8      1      60  SHENZHEN NETIS TECHNOLOGY CO.,LTD
 10.1.1.100      88:36:6c:ab:f1:49      1      60  EFM Networks
 10.1.1.107      08:00:27:ab:f1:60      1      60  PCS Systemtechnik GmbH
 10.1.1.108      08:35:71:ab:f1:a0      1      60  CASwell INC.
 10.1.1.120      00:07:32:ab:f1:69      1      60  AAEON Technology Inc.
 10.1.1.130      00:07:32:ab:f1:1e      1      60  AAEON Technology Inc.

 ... 중간 생략 ...

 


위 ARP Scan 외에 다른 Scan 공격에 관해 알고 싶다면 아래 Web docs를 읽어보는 것을 추천.

- ICMP Scan
- TCP, UDP Scan [ nmap 명령을 사용하여 테스트 ]
- Stealth Scan (스텔스 스캔)
    - FIN Scan         : nmap -sF ...
    - X-Mas Scan    : nmap -sX ...
    - Null Scan        : nmap -sN ... 

 

https://jennana.tistory.com/447

 

https://goitgo.tistory.com/146


 

반응형
작성일: 2023년 9월

 

IP address 범위를 지정하여 ping 패킷(즉, ICMP Echo Request)를 보내고 싶다면, 아래 예제 스크립트처럼 작성하여 실행하면 된다.

 

#!/usr/bin/bash

for ip in $(seq 1 7);
  do ping -c 1 10.1.4.$ip;
done

 

반응형

IP Network 가용성을 높이거나 Performance를 높일 때, Bonding과 Teaming 중에서 뭐를 쓸까 고민하는 경우가 많은데...

그럴 때 아래 기능 비교표를 보면서 골라 쓰면 될 듯하다.

 (그런데, 전반적으로 Teaming 방식이 지원하는 기능이 우수하고 RCU로 구현하여 성능도 좋다)

 

지원하는 기능 Bonding 방식
Teaming 방식
broadcast TX policy
Yes
Yes
round-robin TX policy
Yes
Yes
active-backup TX policy
Yes
Yes
LACP (802.3ad) support
Yes
Yes
Hash-based TX policy
Yes
Yes
Highly customizable hash function setup No
Yes
TX load-balancing support (TLB)
Yes
Yes
RX load-balancing support (ALB)
Yes
Planned
RX load-balancing support (ALB) in bridge or openvswitch No Planned
LACP hash port select
Yes
Yes
load-balancing for LACP support No
Yes
Ethtool link monitoring
Yes
Yes
ARP link monitoring
Yes
Yes
NS/NA (IPV6) link monitoring No
Yes
ports up/down delays
Yes
Yes
port priorities and stickiness ("primary" option enhancement) No
Yes
separate per-port link monitoring setup No
Yes
multiple link monitoring setup Limited
Yes
lockless TX/RX path No(rwlock)
Yes
(RCU)
VLAN support
Yes
Yes
user-space runtime control Limited Full
Logic in user-space No
Yes
Extensibility Hard Easy
Modular design No
Yes
Performance overhead Low Very Low
D-Bus interface No
Yes
ØMQ interface No
Yes
multiple device stacking
Yes
Yes
zero config using LLDP No Planned
반응형
작성일: 2024년 2월 7일

 


장비는 1대 밖에 없는데, 여러 개의 Network node가 서로 다른 MAC address & IP address를 생성하여 Network packet을 만드는 테스트를 해보고 싶다면, 아래와 같이 따라하면 된다.

 

(Case A) 기본 Network Namespace에 가상 Port를 만들기

아래 예시는 3개의 서로 다른 MAC address를 가지는 가상 network interface를 생성하고, 각 가상 network interface에 IP address를 할당하고 ping test하는 것을 보여준다.

 

$ ip link add macvlan1 link enp7s0 type macvlan mode bridge

$ ip link add macvlan2 link enp7s0 type macvlan mode bridge

$ ip link add macvlan3 link enp7s0 type macvlan mode bridge

$ ifconfig macvlan1 10.1.4.11/24

$ ifconfig macvlan2 10.1.4.12/24

$ ifconfig macvlan3 10.1.4.13/24


##
## 위 명령을 수행한 장비의 외부에서 ping을 보내면서 MAC Address가 서로 다르게 보이는지 확인한다.
##
$ ping 10.1.4.11

$ ping 10.1.4.12

$ ping 10.1.4.13

 

 

(Case B)  새 Network Namespace를 만들고, 새로운 Network Namespace에 가상 Port를 만들기

(Case A)처럼 가상 Port를 구성하여 사용했을 때, IP Address를 여러 개 사용할 수 있기는 하지만

1개의 MAC Address에 여러 개 IP Address를 Binding하게 된다.

(가상 포트에서 출발한 IP packet이 enp7s0 물리 포트를 경유해서 다른 장비로 forward되는 경우, 다른 장비에서는 MAC address가 다 똑같이 보인다)

각 IP Address마다 MAC Address를 다르게 할당하도록 하고 싶다면, 각 가상 포트마다 Network namespace를 연결해주어야 한다.

긴 설명보다는 아래 예시를 보는 것이 이해가 빠를 것이다.

 

##  MACVLAN type의 가상 포트를 생성한다.
$  ip link   add macvlan1  link enp2s0  type macvlan  mode bridge

## Network namespace를 생성한다.
$  ip netns  add net1

## 가상 포트 macvlan1을 network namespace net1에 연결한다. (연결한다 = 포함시킨다)
$  ip link   set macvlan1  netns net1

## 가상 포트에 IP address를 설정한다.
$  ip netns  exec net1  ip address  add 10.10.1.222/24  dev macvlan1

## Network namespace 'net1' 내부에서 ping 테스트한다.
$  ip netns  exec net1  /usr/bin/ping 10.10.1.2

## 
## 위 테스트에서 확인할 사항:
##   - 10.10.1.2 장비에서 'arp table'을 확인했을 때, 10.10.1.222의 mac address가
##     enp2s0 포트의 mac address와 다르게 보인다면, 구성과 테스트는 성공 !!
##


##
## 테스트가 끝났으면 가상 포트(MACVLAN Port)를 삭제한다.
##
$  ip netns  exec net1  ip link del macvlan`

 

 


 

Linux OS에서 virtual networking을 제공하는 방식이 여러 가지가 있는데, 이론적인 내용은 아래 Web docs를 참고.

(RedHat 공식 문서)

https://developers.redhat.com/blog/2018/10/22/introduction-to-linux-interfaces-for-virtual-networking

 


 

반응형
작성일: 2024년 12월 12일

 

IPSEC VPN Fundamentals (IPsec VPN 기초)

https://youtu.be/15amNny_kKI?si=oqLM5d9JoiXA4Rx5

IPsec VPN Fundamentals

 

 

 

IPsec 

 

https://youtu.be/xTH1ZA_qUvA?si=E1hJ9wsA1ly78jb1

IPsec Explained

 

 

 

 

CISCO ASA - To configure 'Site-to-Site VPN'

https://youtu.be/685Trasp8N8?si=Tp4w3YyOlZY8DfMt

 

 

 

CISCO ASA VPN (Site-to-Site)

https://youtu.be/6WApuAtIjkM?si=ZMuLuCH_xocQ85Sg

 

 

 

Nftables - Netfilter and VPN/IPsec packet flow

https://thermalcircle.de/doku.php?id=blog:linux:nftables_ipsec_packet_flow

 

Nftables - Netfilter and VPN/IPsec packet flow [Thermalcircle.de]

 

thermalcircle.de

 

반응형

 

작성일: 2023년 8월 1일

 

NAVER D2 자료 - TCP/IP Network Stack 이해하기

https://d2.naver.com/helloworld/47667

 

 

 

 

 

 

 

반응형

아래 명령 예시처럼 수행하면, tcp syn과 reset 패킷을 확인할 수 있다.

 

$ tcpdump -i enp1s0 -nN "tcp[tcpflags] == tcp-syn or tcp[tcpflags] == tcp-rst"

16:55:16.516453 IP 65.49.1.10.42458 > 112.169.87.89.87: Flags [S], seq 3730493766, win 65535, length 0
16:55:19.755480 IP 140.99.191.218.57246 > 112.169.89.88.26720: Flags [S], seq 417367123, win 1024, length 0
16:55:19.960898 IP 140.99.191.218.57246 > 112.169.89.88.26720: Flags [R], seq 417367124, win 1200, length 0
16:55:19.991267 IP 185.11.61.225.44794 > 112.169.89.88.38956: Flags [S], seq 163297978, win 1024, length 0
16:55:20.146215 IP 185.11.61.225.44794 > 112.169.89.88.38956: Flags [R], seq 163297979, win 1200, length 0
16:55:38.865833 IP 140.99.191.218.57246 > 112.169.89.88.19331: Flags [S], seq 523253283, win 1024, length 0

 

반응형

Testbed network을 만들기 위해 L2, L3가 되는 10G 스위치를 구입했다.

구입하면서 고려했던 것은 이렇다.

  • 10Gbps 지원 (4 Port 이상)
  • 1Gbps 포트 24개 이상
  • VLAN 지원
  • Memory가 넉넉하게 장착되서 모든 Network Port의 Bandwidth가 Full Speed가 나올 것
  • LACP(Link Aggregation Control Protocol) 지원
  • 일반적으로 많이 사용되는 L3(라우팅) 프로토콜 모두 지원.  RIP, OSPF 등.
  • IPv4, IPv6 Routing 지원
  • Web UI 지원
  • DHCP 지원

위 조건을 만족하면서 적당하게 가격이 싼 제품을 찾아보니 "NEXTU 3424GL3-10G"가 가장 적절했다.

위 리스트에 기재한 것 이상으로 많은 기능을 제공하고, CISCO 또는 Arista 등 대중적인 스위치가 제공하는 L2, L3 스위칭 기능을 모두 제공한다고 보면 된다.

 

50만원 미만에 이 정도로 훌륭한 스위칭 성능과 기능을 제공하다니~   

아주 만족하고 있다.

 

 

 

 

# TODO:  WEB UI 화면 캡처해서 붙여넣고 설명하기.

+ Recent posts