티스토리 뷰
저는 집에서 기본적으로 Proxmox 라는 것을 통해 Hypervisor 로 여러 가상 머신을 관리합니다. 그 중 하나의 가상머신으로는 docker 를 이용해 여러 컨테이너를 서비스 하기도 하고, 여러 가상머신을 만들어 docker swarm 도 이용중입니다.
그런데, 약 20TB 에 달하는 데이터가 담겨있는 NAS 역시 가지고 있습니다. 그리고, 상당수의 데이터는 용량이 큰 스트리밍 자료이기 때문에, 집에서 내부 통신으로 빠른 속도의 데이터 업/다운이 자주 발생합니다. 그래서, Proxmox 장비는 2개의 LAN 포트를 가지도록 장치를 추가하였고(어짜피 그래픽카드를 쓰지 않으니 그 자리에 2~4포트 랜카드 설치하면 됩니다), 외부에서 들어오는 회선(ISP는 KT)은 통신사 모뎀이 4포트를 제공하기 때문에, 여기서 하나의 회선을 연결하여 Proxmox 에서 직접 외부와 연결되도록 했고, 다른 한 포트는 또다른 외부 회선과 연결된 공유기에서 나온 회선을 연결했습니다.
즉, 하나의 랜포트(0번)는 "외부-공유기(인터넷 라우터)-Proxmox" 형태로 되어 있고, 다른 하나의 랜포트(1번)는 "외부-Proxmox" 형태로 되어있습니다. 그래서 0번은 공유기에서 사용하는 사설IP 대역을 쓰고, 1번은 ISP 에서 제공하는 공인IP 대역으로 사용중입니다.
Proxmox 설치 시에는 일단 0번에만 랜 케이블을 연결하여 설치하는 것이 좋습니다. 기본적으로 Proxmox 는 설치 시 DHCP 을 설정할 수 없습니다. 그러므로 공유기에서 DHCP 로 발급하는 IP 대역도 조절해두는 것이 좋습니다. 그리고, 설치 후 추가 장치를 위해 Linux Bridge 을 추가해서 연결하는 것이 좋습니다. 대략 아래와 같은 그림이 됩니다.
enp4s0 가 0번 포트인 장치이고, enp7s0 가 1번 포트인 장치입니다. 처음 설치 시 vmbr0 는 Linux Bridge 로 되어 있을 것이고, 추가로 vmbr1 을 만들어서 enp7s0 를 브릿지 포트로 하도록 하면 됩니다.
그 후, 콘솔로 접속한 뒤 /etc/network/interface 파일을 수정해야 합니다. vmbr1 은 vmbr0 처럼 DHCP 을 사용하지 않고 고정(static)으로 설정되어 있기 때문입니다. 아래와 같이 수정해줍니다.
auto vmbr1
iface vmbr1 inet dhcp
bridge-ports enp7s0
bridge-stp off
bridge-fd 0
post-up ip route del default dev vmbr0
post-up ip route add default dev $IFACE
pre-down ip route del default dev $IFACE
pre-down ip route add default dev vmbr0
#External Network
iface vmbr1 inet static 으로 되어 있던 부분을 dhcp 로 바꿔줍니다. 그리고 post-up 와 pre-down 네 줄을 저는 추가해줬는데, 그 이유는 기본 게이트웨어가 vmbr0 로 될 경우, 내부에서 외부로 요청하는 것들이 모두 공유기를 거쳐서 외부로 나가기 때문입니다. 이러면 1번 포트를 통해 직접 들어와야 하는 외부에서의 연결이 이상해집니다. 그래서 최소한 post-up 을 이용해 vmbr1 이 시작될 때 vmbr0 이라는 dev(device, 장치)의 기본 라우트 경로에서 빠지게 해줘야 합니다. 이렇게 하면 내부에서 외부로 연결할 때 1번 포트로 연결이 됩니다. 이렇게 해두면 DDNS 등을 갱신하는 스크립트들도 1번 포트를 통해 나가기 때문에 DDNS 로 연결된 도메인들은 모두 공유기를 거치지 않고 접속 가능합니다. Linux Bridge 이기 때문에 docker 나 docker swarm, 혹은 nginx-proxy-manager, haproxy 와 같은 외부와 직접 공인 IP 로 연결하는 것이 필요한 경우 vmbr1 을 연결해주면 공인IP 을 추가로 받아올 수 있습니다.
'Computer > OS' 카테고리의 다른 글
두 개 이상의 네트워크 인터페이스가 있을 때 하나의 default gateway 을 지우기 (1) | 2022.10.15 |
---|---|
KDE 에서 디스플레이 전역 크기 조정을 했을 때 vlc 등의 플레이어에 문제가 발생하는 경우 해결 방법 (0) | 2020.02.19 |
듀얼 모니터 환경에서 KDE 로그인 화면이 원하지 않는 화면에 나오는 경우 해결 방법 (0) | 2020.02.12 |
grub rescue 로 grub 페이지 띄우기 (0) | 2020.02.11 |
Linux Mint 에서 Manjaro Gnome 으로, 다시 Manjaro KDE 로 OS 변경 (2) | 2020.02.11 |
- Total
- Today
- Yesterday
- messages.properties
- Phabricator
- java config
- KDE
- RestTemplate
- couchbase
- Redmine
- 시니어 프로그래머
- 엘지
- 내장 WAS
- 페이징
- proxmox
- Spring
- Spring MVC
- docker
- 워드프레스
- Spring Boot
- boot
- manjaro
- OracleJDK
- Nas
- 클라우드플레어
- 외장 WAS
- jooq
- git
- 프로젝트 규모
- 도입기
- NoSQL
- SI
- paging
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |