OpenWRT 커스텀펌웨어 라우터 – Linksys WRT3200ACM

목적

홈네트워크 구축
이라고 하지만… 그냥 iptime에서 해도 된다.
openwrt설치된 장비가 갖고 싶어서

구매

OpenWRT에 추천디바이스로 나와있어서 직구
https://www.linksys.com/us/support-product?pid=01t340000046sOsAAI
세금은 따로 없다. 전파인증을 따로 받아야 하는거라 국내판매는 당분간 힘들지 않을까
IPTIME에서 쓸만한게 있으면 사려고 했는데 없는 것 같다

설치

펌웨어 다운받아서 설치하면 끝
여기서 https://openwrt.org/toh/linksys/linksys_wrt3200acm
이걸 받아서 http://downloads.openwrt.org/releases/19.07.7/targets/mvebu/cortexa9/openwrt-19.07.7-mvebu-cortexa9-linksys_wrt3200acm-squashfs-factory.img
192.168.1.1로 접속
펌웨어 선택하고 설치… 경고는 무시
이렇게 쉬워도 되나?

설치된 후 바로는 뭔가 돌아가고 있어서 그런지 bad request오류가 지속적으로 발생한다
브라우저 캐시 제거하고 10분쯤 있다가 접속하니 잘 된다
무엇 때문에 해결된걸까
– 브라우저 캐시제거
– 10분쯤 있다가 접속

설정

라우터 스펙이 좀 좋다보니 할 수 있는게 많아서 할 게 많다

  • 라우터 비밀번호 설정
  • LAN 설정
  • USB 연결
  • Http Proxy
  • 내부 DNS
  • DDNS 연결
  • DHCP
  • VPN
  • Radius
  • Kerberos
  • 무선랜

라우터 비밀번호 설정

root / password

웹 인터페이스에서 비밀번호를 적당히 설정 해 준다.
비밀번호 설정을 안 해 주면 위에 경고가 계속 뜬다.

LAN 설정

Network – Interfaces – LAN – Edit

IPv4 address : 192.168.1.1이 기본인데 필요한 경우 192.168.0.1이라던가 바꾸고 싶은대로 변경.
Use custom DNS servers : kt는 168.126.63.1~2, 구글은 8.8.8.8, 4.4.4.4
로컬DNS가 있다면 주소를 잡아준다
OpenWRT에서 설정가능

USB 연결

내부 저장용량이 적어서 http캐시나 다른 일들을 시키려면 마운트를 해 줘야한다
https://openwrt.org/docs/guide-user/storage/usb-drives

Http Proxy

Software squid
usb에서 잡아준 mount 디렉토리로

내부 DNS

d

DDNS 연결

상용제품은 자기네가 지원 해 주는게 있는데 오픈소스다 보니 별도로 설정 해 줘야한다
돈안내고 쓰는 서비스 중에서 해킹위협이 없는 쪽으로

DHCP

d

VPN

OpenVPN, L2TP
https://openwrt.org/docs/guide-user/services/vpn/libreswan/openswanxl2tpvpn
d

Radius

dd

Kerberos

dd

무선랜

따로 잡아줘야 함

NAS,홈오피스 – OS,솔루션

NAS 솔루션

  • NextCloud
  • https://www.openmediavault.org
  • http://rockstor.com
  • https://www.amahi.org
  • https://lime-technology.com

NAS 인프라, NAS 서비스 섞여있음

OS

  • www.nas4free.org
  • FreeNAS https://www.freenas.org
  • http://rockstor.com/

홈오피스

  • www.zentyal.org
  • NethServer https://www.nethserver.org

Media

  • https://www.amahi.org/

인프라

  • https://www.pfsense.org/

FPGA

재미있는걸 알게되서 조금 조사 해 봤다

개념

  • https://ko.wikipedia.org/wiki/FPGA
  • https://namu.wiki/w/FPGA

코딩이 가능한 임베디드 장비로 ASIC이 특정목적에 맞게 설계를 하는반도체라면
FPGA는 조금 더 범용적인 장비.. 하지만 일반적인 CPU보다는 조금 더 임베디드한? 동작을 하는 장비다
당연히 ASIC보다는 조금 느리지만 특화된 기능에 대해 CPU보다는 빠른 동작이 가능한 장비
ethernet처럼 아주 고정된 동작만을 한다면 ASIC을 사용하겠지만
자율주행, 5G, IoT 처럼 아직 변화가 많이 발생할만한 분야라면 FPGA를 사용

원래 설명

  • https://m.blog.naver.com/PostView.nhn?blogId=msnayana&logNo=80124294898&proxyReferer=https:%2F%2Fwww.google.com%2F

코딩

  1. 언어는 Verilog, VHDL, schematic
  2. 컴파일(synthesis)
  3. 모듈의 위치와 선을 배치하는 작업인 라우팅을 한다고???
  4. 퓨즈 설정으로 회로를 구성시킨다고???
  5. flash나 eeprom에 넣어 실행(펌웨어?)

그냥프로그램만 넣어서 쓸 수 있는건 아닌 모양이다. 여러개의 input과 여러개의 output이 있고 이것중에 일부를 선택해서 사용해야 하는 형태일까

FPGA 코딩으로 할 수 있는 것

  • http://wiki.vctec.co.kr/devboard/fpga/spartan-3a-fpga-gaebalbodeu–elbert/overview
  • https://dkeemin.com/vivado-verilog-%EC%BD%94%EB%94%A9%ED%95%B4%EB%B3%B4%EA%B8%B0/

사진 인코딩, 비디오 스트링 전처리 등
방화벽, 웜바이러스, 디도스 등등 – 패턴화된 네트워크 처리

FPGA router project

FPGA로 라우터를 만든다면?

  • https://en.wikipedia.org/wiki/NetFPGA
  • https://www.turris.cz/cs/omnia/predstaveni/
  • https://www.solid-run.com/marvell-armada-family/macchiatobin/
  • https://librecmc.org/
  • https://openwrt.org/toh/recommended_routers

Orchestration Infra

설치형

  • Kubernetes https://github.com/kubernetes/kubernetes
  • Docker swarm https://github.com/docker/swarm
  • rancher https://github.com/rancher/rancher
  • flynn https://github.com/flynn
  • mesos https://github.com/mesos/mesos
  • nomad https://github.com/hashicorp/nomad

SaaS

  • AWS ECS
  • GCP
  • AWS
  • Azure
  • Heroku

서비스형으로 쓰면 되는데 또 설치 해 보고싶고 그러면 Docker Swarm정도는 해볼만할 것 같다

Helm 2에서 3로 간략

Tiller 없어짐

  • Tiller가 k8s 클러스터에서 에이전트 서버 역할을 했는데 이게 없어지고 단순 클라이언트에서 접속하는 구조로 변경
  • 보안을 사용자가 알아서 하라는거 보니 이거 관련 보안문제가 터졌나봄
  • tiller 초기화하려고 필요했던 helm init, helm home 없어짐

차트 리포지터리 검색

로컬과 helm hub 모두 동작? 항상 웹으로 찾아가지고 몰랐던 부분

의존성관리

Chart.yaml에서 의존성 관리. requirements.yaml을 포함. 용어도 변경 requirements -> dependencies
helm2 하위호환 보장
차트의 type 추가 – application / library

주요 명령어 기능변화

uninstall 하면 기본값이 purge라던가… helm2까지 많이 사용하던 사람 아니면 관심가질 필요 없는 내용.. 어차피 쓰다보면 알게되는

Synology NAS – 사용후기 – 누구에게도 필요없는 물건

신세계라고?

모르겠다
충동구매로 지른 후 몇달인가 1년쯤 됐나?
지금 설정 해 놓은게…

  • DNS
  • VPN
  • Cloud 백업
  • 디스크
  • 사진
  • 동영상
  • 다운로드
  • Docker
    • 블로그
    • gitlab
    • nexus
    • 등등 개발용툴

기존에는 개인서버에서 docker-compose로 실행시키면 별로 손가는 일도 없었다
오히려 코드화가 힘든 synology nas가 설정에 더 손이 많이 가는 느낌?
장점은 저전력에 크기가 작고 raid 지원이 잘 된다는 점 정도일까
요즘 폐급 메인보드도 소프트웨어raid 정도는 지원되고 raid0(mirror)은 컨트롤러 없어도 잘 터지지는 않으니까 상관없지 않나. 앵간한 폐급 피씨 주서다 셋팅해도 synology nas보다 빠르고

718이랑 하드두개 해서 거의 100만원을 쓴 것 같은데 왜 샀나 모르겠다. 그냥 미쳤나보다

비교

클라우드, NAS, 개인서버

솔직히 NAS도 관리하는게 손이 꽤 많이 가고 쉽지가 않다.
어차피 공부해서 할 생각이라면 개인서버 쓰는게 낫고
편하게 쓰려면 클라우드 쓰는게 낫다.

iCloud 기준
5G 무료
50G 1100원/월
200Gb 3300/월 (가족)
2TB 11,100/월 (가족)

GoPro Plus
무한용량?? $ 4.99/월

Dropbox
2TB $9.99/월

SynologyNAS 718+ 기준
45만 + 30만(4TB*2) + 램추가(8G 5만)
전기요금 누진세포함 대강 5천추가
수명3년으로 잡고 2.7 만/월
너무 비싸서….다시
수명5년으로 잡고 1.3 만/월

용량차이 좀 감안해도 NAS보단 클라우드 쓰는게 나아보인다.
자주 안 쓰는 데이터만 BlueRay나 HDD에 담아두면 기본요금만 써 되독

클라우드 쓰다가 날라가면 어쩌냐고 하기도 하는데
집에쓰는 하드도 잘 날라간다

클라우드는 비싸다고 하는데
100만원+전기요금 5천원추가정도 생각하면 큰 차이없지 않나

가용성도
드랍박스 중단되는거 뉴스에 뜨기도 하고 하지만
집에 인터넷 끊기거나 기계 고장나거나 정전나는건 뉴스에안나오지만 훨씬 자주 발생한다

tvheaden인가 뭐 이런거 쓰려면…
어차피 Synology nas 스펙이 구려서 힘들다

동영상을 온라인으로 올려놓고 보고싶다면
Synology 스펙구려서 힘들다
개인서버 돌리고 오픈소스로 나온거 설치해서 쓰는게 낫지 않을까
Dropbox나 iCloud에서 지원도 될 것 같다

파일공유
Nextcloud로 해도 된다

단점나열

  • 업데이트가 은근 느린 포인트가 많다
    letsencrypt 적용해야되는데 *.주소 지원이 아직도 안된다. 작년부터 계획중
    node4로 돌아가는 앱이 아직도 있네? package 업데이트가 안되서 생긴문제
  • 중요 기능은 ssh접속해서 해야된다
    개씨발포인트 – 디렉토리 구조나 권한설정도 지좆대로 되어 있는걸 건드리려니 더 힘들다
  • 기존서버운영방식을 모르면 Synology도 못한다
    쉽게따라하기 메뉴같은거 전혀 없다.. 어차피 이거나 저거나 공부하면서 해야됨
  • 저가형제품에서 할수있는게 없음
  • 전송속도 느림
  • 비슷한 유틸 엄청많아서 헷갈림
  • package를 직접 만들어 쓰려고 봐도 이거 손댈 수 있는 구조가 아니고 정보제공도 안됨

결론은

Synology에서 제공하는 다양한 기능을 사용하려면 쓰는것도 괜찮았었었었다
Docker가 나오기 전까지는
요즘은 그냥 버리는 서버에 NAS용하드 두개 사다가 레이드걸고 쓰는게 낫다.

복잡한 설정 못할 것 같으면 그냥 cloud서비스 iCloud, GoogleCloud, Dropbox, naverCloud, 통신사클라우드 대강 골라서 쓰면된다. 하드한개 사서 백업을 하던가 안해도 되고

이거 고장나거나 느려지면 다시 사진 않을 것 같다

로그 모니터링 서비스

클라우드 서비스 내장형

문제는 다 느리다는거

  • AWS CloudWatch
  • GCP

서비스형서비스

  • new relic
  • sentry
  • datadog
  • logic monitor
  • dynatrace
  • appotics

오픈소스 설치형 서비스

오픈소스 아니거나 한것들 섞여있을 수 있음
완전체 서비스는 아니고 생태계에 포함된것들 포함

  • prometheus
  • logstash
  • flume
  • kafka
  • fluentd
  • elasticsearch

~

개인적으로 센트리는 써봤는데 다른건 잘 모르겠지만 비슷할 것 같다.
센트리가 레일즈에서는 로그 확인하기 편하고 좋았는데 노드에서 잘 잡아내지 못하는 것 같다. 여기 맞춰서 뭔가 설정을 해 줘야하는듯

마이크로서비스 환경이 되면서 동일한 애플리케이션 서버가 여러개 구동되니까 점점 더 필요해지는 시스템

시간내서 구축해야하는데 그전까지 유료서비스 사용하는것도 괜찮은듯

네티스 WF2411V2 펌웨어 업그레이드 1.4.xx -> 1.8.xx

사전준비

제품명 확인 펌웨어 다운로드
1.6.99
1.8.25(최신)

1.6 이하버전인 경우 처리 순서

  1. 공장초기화
    전원 뺐다가 켜고 7초이상 초기화 버튼 누르면 모든버튼이 깜빡일 때 손 떼고 1분쯤 대기
  2. 1.6.99 업그레이드
    192.168.1.1 고급설정 파일로 업그레이드
  3. 공장초기화
  4. 1.8.25 업그레이드

1.6이상버전인 경우 처리순서

이건 정확하진 않은데

  1. 공장초기화
  2. 1.8.25 설치

1.6이하 버전에서 최신버전인 1.8로 업그레이드가 바로 되지 않는다. UI와 내부 시스템 대규모 변화가 있었던 듯
공홈에 설명이 제대로 안나오고 어디 구석에 PDF로 띡 나와있어서 두시간 날려먹음
바퀴벌레 날라다니는 UI가 보인다면 1.6이상이다

Serverless Framework 선택

serverless

https://serverless.com/cli/
https://github.com/serverless/serverless

zappa

python

django, flask 앱을 lambda로

zpex

AWS sam

jets

ruby

Graal

kotlin

  • https://github.com/razvn/micronaut-kotlin-first-graal
  • https://guides.micronaut.io/micronaut-function-graalvm-aws-lambda-gateway/guide/index.html

Spring cloud function

https://medium.com/faun/spring-cloud-function-deploy-first-serverless-function-using-spring-1bbdc0a4620d

인프라

AWS Lambd

GCP cloud function

https://cloud.google.com/functions/

Knative

https://github.com/triggermesh/knative-lambda-runtime
https://about.gitlab.com/product/serverless/
https://labs.sogeti.com/knative-introduction-to-a-native-serverless-platform/

기타

  • kubeless
  • OpenWhisk
  • Tencent Cloud
  • Alibaba Cloud
  • Azure
  • CloudFlare
  • fn??
  • spotinst

참고

프레임웤?툴? 엄청많음