[컴] RB3011UiAS-RM 무한부팅 상황, RouterOS 재설치

 

미크로틱, 라우터 /

RB3011UiAS-RM 무한부팅 상황, RouterOS 재설치

현상

starting kernel –> routerboard 나오고 멈추거나 여기서 꺼지고 계속 다시 starting kernel 이 뜬다.

원래는 starting kernel 하고 나서 starting services 가 보여야 한다.

RB3011UiAS-RM

미리 netinstall, package 를 아래 링크에서 download 하자. ’RB3011UiAS-RM’의 RouterOS는 arm 버전을 받으면 된다.

  • <https://mikrotik.com/download >

RouterOS 설치

  • https://www.mikrotik.com.my/reinstalling-mikrotik-routeros-without-serial-port/
    • pc 의 ethernet port 에 꽂고, routerboard 의 Eth1 port 에 꽂음.
    • 참고로 power 옆에 Ethernet port 는 power 공급용이다.(참고: https://help.mikrotik.com/docs/display/UM/RB3011UiAS-RM)
    • factory reset 하고,
    • windows 의 방화벽 끈다.
    • ip 주소 설정시, gateway 설정은 하지 않고, ip address 를 입력한다.
    • netinstall 을 열고 ‘Net booting’ 메뉴를 누른다. Boot Server enabled 를 check 하고, 같은 subnet 의 ipaddress 를 입력한다. 당연히 windows 에 설정한 ip address 와 다르게 입력한다.
    • netinstall 을 열어놓은 상태에서
    • ether boot 상태로 간다. (router 전원을 빼고, reset 을 누른상태로 전원을 켠다. 그리고 LED가 깜빡깜빡 거리다가 멈추고, LED가 꺼지면 그 때 reset 버튼을 release 한다.)
    • 그러면 이제 netinstall에 router 가 잡힌다.
    • package 를 선택하고, Install 버튼을 누른다.

설정

  • install 이 완료되고 부팅을 하면, 이제 winbox 로 setting 을 잡으면 된다.
  • setting 을 초기화 하려면, winbox 에서 terminal 을 띄우고, system reset-config 를 실행하면 된다. 참고로 암호도 초기화 된다.
  • 간단하게 WAN 을 설정하고, LAN 을 설정하는 법
  • WAN 이 DHCP에서 ip 를 받아오는 경우: https://www.2cpu.co.kr/bbs/board.php?bo_table=lec&wr_id=965
    • 1번 port 에 WAN 을 꽂으면 된다. WAN 이 DHCP client 로서 ip 를 받아올 것이다.
    • 기본 세팅이 router mode 이다. 이때 1번 port 에 WAN 을 꽂으면 된다. 알아서 DHCP client 를 ether1 에 설치해서 ip address 를 받아온다.
    • 이때 subnet 은 192.168.88.x 를 기본으로 사용한다.

[컴] 2024년 1월 부터 aws 에서 과금하는 public IPv4 주소들

2024년 1월 부터 aws 에서 과금하는 public IPv4 주소들

다음 글에서 보듯이, AWS 가 public ip address 에 과금을 시작한다.

그래서 어떤 부분이 부과되는지에 대해 확인해봤다.

과금되는 주소들:

  • Elastic IP 주소(EIP): Amazon에서 제공하는 고정 public IPv4 주소
  • EC2 공용 IPv4 주소: Amazon이 EC2 인스턴스에 할당하는 public IPv4 주소(EC2 인스턴스가 기본 서브넷으로 시작되거나 인스턴스가 공용 IPv4 주소를 자동으로 할당하도록 구성된 서브넷으로 시작되는 경우).
  • BYOIPv4 주소: 자체 IP 주소 가져오기(BYOIP)를 사용하여 AWS에 가져온 IPv4 주소 범위에 있는 public IPv4 주소.
  • 서비스 관리형 IPv4 주소: AWS 리소스에서 자동으로 프로비저닝(provisioning)되고 AWS 서비스에서 관리하는 public IPv4 주소. 예를 들어 Amazon ECS, Amazon RDS 또는 Amazon Workspaces의 public IPv4 주소가 있다.

과금확인 :

https://aws.amazon.com/blogs/networking-and-content-delivery/identify-and-optimize-public-ipv4-address-usage-on-aws/ : 얼마나 자신이 갖고 있는 public ip 가 사용됐는지 과금표에서 볼 수 있다.

See Also

  1. 쿠…sal: [컴][웹] aws 가격 정리

[컴] WSLg

 wslg path

WSLg

  • windows 에서 linux 의 gui app 을 띄우는데 도움을 주는 linux distro 부분이다.
  • gui system 관련 linux distro 를 따로 가지고 있다.
  • windows 에서 linux gui app 의 상호작용: RDP 를 이용해서 windows <--> linux를 통해 처리한다.

자세한 사항은 ref.1 을 참고하자.

path

WSLg path

  • powershell 에서 Get-AppxPackage MicrosoftCorporationII.WindowsSubsystemForLinux
    • C:\Program Files\WindowsApps\MicrosoftCorporationII.WindowsSubsystemForLinux_1.2.5.0_x64__8xxxxxxxxe
    • 이곳에 wsl.exe, wslg.exe 등이 설치된다.

kernel path

  • default path: c:\Windows\System32\lxss\tools
  • .wsconfig 를 통해서 원하는 path로 변경할 수 있다.[ref. 2, 3]
  • 관련 registry : HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss

wslg path in user distro

user distro 에서 ls /mnt/wslg 를 하면 WSLg System distro 부분을 확인할 수 있다.

Reference

  1. GitHub - microsoft/wslg: Enabling the Windows Subsystem for Linux to include support for Wayland and X server related scenarios
  2. 쿠…sal: [컴] wsl2 에서 bcc 설치 및 실행
  3. windows subsystem for linux - Change of WSL installation location - Super User

[컴] 구글이 2023년 8월에 받은 DDoS 공격

트래픽 / 대용량 /대규모 / 네트워크 traffic / 디도스

구글이 2023년 8월에 받은 DDoS 공격

  • 23년 8월 DDoS 공격, 작년 최대치보다 7.5배 더 큰 크기
  • peak 에서 3억9800만rps(request per second, 초당 request)
  • HTTP/2 “Rapid Reset” 기술 이용한 공격
  • 작년의 최대 기록은 peak 에서 4600만 rps 였다.
  • 2분간 보내진 공격request 가 위키피디아의 2023년 9월의 총 페이지 뷰보다 많다.
  • HTTP/2 protocol 를 지원하는 서버라면, CVE-2023-44487 관련 patch 를 적용하자.

from ref.3:

  • 대략 2만대기기로 수행
  • 이런 DDoS attack 은 누가 일으키는가?(from: https://news.ycombinator.com/item?id=37833074)
    • 정부 행동자들(government actors)
    • 때론, 동유럽의 scammer(나쁜일 하는사람)
      • 이런 큰 공격을 통해 botting community에서 street cred(길거리 신용) 를 얻기 위해 한다.
      • 이 신용을 가지고, rival 을 공격하려는 주체에게 돈 받고 이런 일을 해준다.
      • 이런 주체는 정부, 수상한 회사들(예를들어, 2022년에는 암호화폐회사들이 라이벌을 공격해달라는 요청을 많이 했다.)
      • 이런 일을 하는 사람들의 대다수는 기술은 있지만, 자신이 사는 환경이 돈을 벌 수 있는 환경이 안되는 경우가 많다.

공격

http2 는 end user 가 다른 곳으로 가거나, data 교환을 멈추게 할 수 있는데, 그래서 stream 을 cancel 할 수 있는 방법을 제공한다.

그래서 공격자는 connection 을 열고, 여기서 stream 을 시작하고 바로 stop 을 시키는 것을 반복한다.(RST_STREAM) 그래서 connection 하나에서 사용가능한 stream 한계치를 넘어서서 stream 을 보내게 된다. 이것이 서버가 서비스를 못하게 만든다(denial of service)

대략 2천대의 시스템으로 구성된 bot net 이 관련되어 있다. 이렇게 작은 botnet 크기로도 큰 볼륨의 request 를 만들 수 있다는 것이 이 취약점이 보호되지 않은 네트워크에 얼마나 위협적인지 알려준다.

만약 http2를 이용해서 https://daum.net 으로 GET request 를 보내면, 이때는 stream ID 1 를 통해 교환된다. 이때 client 가 1개의 HEADERS 1 frame 을 서버로 보내면, 서버는 1개의 HEADERS frame 붙여서 1개이상의 DATA Frame 을 붙여서 보낸다. 그리고 client 가 다른 request를 서버로 보내면, 그것은 HEADERS 3 이 되고, 서버는 이것에 대한 응답을 DATA stream 1 뒤에 붙여서 보낸다. 이것이 스트림의 multiplexing이고, concurrenct 이다.

이것이 http2의 강력한 기능인데, 이로인해 client 가 동시에 많은 request를 보낼 수 있게 되는데, 그러면 peak 시점의 server resource 가 더 많이 필요하게 된다.

etc

See Also

  1. 쿠…sal: [컴][사례] 네크워크 부하가 큰 경우 네트워크 대역폭 사용량
  2. 쿠...sal: [컴][네트워크] DDos(distributed denial of service) 공격

Reference

  1. Google Cloud mitigated largest DDoS attack, peaking above 398 million rps | Google Cloud Blog
  2. HTTP/2 신속한 재설정 취약점으로 인해 역대 규모의 DDoS 발생 | GeekNews
  3. The largest DDoS attack to date, peaking above 398M rps | Hacker News
  4. https://github.com/caddyserver/caddy/issues/5877

[컴] terraform module

 

terraform module

module 은 wrapper function 같은 느낌이다. terraform 에서 제공하는 hashicorp aws 로도 해결이 되지만, module 을 사용해서 좀 더 간단한 설정을 가능하게 해준다.

개인적인 생각은 같은 pattern 이 많아지면 사용하면 좋을 듯 하다. 그 전에 사용하는 것은 terraform 의 이해를 떨어뜨리는 듯 하다.

registry

terraform module 들은 다음 링크에서 확인할 수 있다.

module input, output

module 은 argument 들을 가지고 있는데, required 만 채워넣으면 된다.

custom module

아래처럼 source를 적어주는데, directory 를 적어준다.


module "db_parameter_group_2" {
  source = "../../modules/server/db/db_parameter_group/"
}

module 인식

아래처럼 module 이 있는데, 이렇게 만들고 나서 terraform init 을 다시 해줘야 module 을 인식한다.

├───environments
│   └───dev
│       ├───.terraform
│       └─── main.tf
|
├───generated
│   └───aws
│       ├───auto_scaling
│       ├───ec2_instance
│       ├───ec2_instance00
│       └───rds
└───modules
     └───db
         ├─── main.tf
         ├─── variable.tf
         └─── output.tf

See Also

  1. ec2-instance : aws ec2, vpc module 을 사용하는 글
  2. 쿠...sal: [컴] Terraformer 사용법
  3. terraform-aws-rds/modules/db_instance/main.tf at master · terraform-aws-modules/terraform-aws-rds · GitHub : terraform module 코드이다. 어떤식으로 좋은 예시로 사용할 수 있다. 

[컴] postman 대신 사용가능한 무료 툴

curl gui / curl 대신 / 대안 / alternatives / 도구 / tool /curl 대신 사용할 gui툴 /

postman 대신 사용가능한 무료 툴

[컴] ebpf 사용

ebpf 사용

기본적으로 ebpf 에서 직접적으로 돌아가는 code를 만드는 것은 잘 하지 않는다고 한다. 대체로 framework 를 통해서 coding 을 한다. bcc, bpftrace 같은 tool 도 iovisor 라는 framework 위에 만들어졌다.[ref. 1]

ref. 1 의 예제를 보면, tcp 통신에서 보내고, 받은 bytes 를 보여주는 program, tcplife 가 나온다. 이것을 기존의 kernel technology 로 만들 수 있는데, 그러면 performance overhead 가 더 생길 것이고, security issue 도 있을 것이라 한다.

packet 수 보다는 적은 TCP session event 만 trace 한다. 그래서 모든 packet 을 trace 하는 것보다 overhead 를 줄인다.

bpfcc-tools 사용

bpftrace

bcc tools 같은 기능을 원하는대로 변경(customize)하려면, bpftrace 를 사용할 수 있다. bcc 만큼 자유롭게 customize 할 수는 없다.

See Also

  1. eBPF: Unlocking the Kernel [공식 다큐멘터리, 30분] | GeekNews

Reference

  1. Learn eBPF Tracing: Tutorial and Examples