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

무선랜

따로 잡아줘야 함

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

Custom Router

라우터 OS

  • OPENWRT
  • DD-WRT
  • pfsense
  • VyOS
  • suricata

OpenWRT

https://openwrt.org/
공유기

임베디드에 설치. 오래된 공유기 안쓰는거에 설치해서 사용
x86은 공식지원이 없다. uefi 지원은 별도 빌드 필요

DD-WRT

https://dd-wrt.com/
공유기

pfsense

https://www.pfsense.org
공유기

BIRD

https://bird.network.cz/
데탑

REF