네트워크 연결
기본이라 할 수 있는 네트워크 연결이다.
처음 Proxmox를 설치하면 네트워크를 설정 하는 창이 다음처럼 나온다.
여기서 연결할 네트워크 포트 지정 및 IP, 게이트웨이, DNS를 지정한다.
그럼 Proxmox 대시보드에 접속하면 가상 네트워크 브릿지(vmbr0)에 초기 설정한 정보가 저장되어 있다
셀에 접속해서 확인해도 똑같이 확인할 수 있다
새로운 가상 네트워크 브릿지 설정
Proxmox는 노드를 생성하면 네트워크 라우터에서 각 노드마다 IP를 받아온다. 라우터에서 관리할 수 있는 편리함은 있지만 노드가 많아지면 그냥 정신없다. 그래서 Proxmox 내에서 일종의 가상 라우터를 생성하는 것과 비슷하다.
네트워크 브릿지 생성
먼저 Proxmox 대시보드에서 '시스템' - '네트워크' - '생성' - 'Linux Bridge'를 선택한다.
다음과 같은 창에서 가상 네트워크를 생성할거기 때문에 내부 IP의 게이트웨이를 생성해줘야 한다.
글쓴이는 IP 대역을 10.10.10.X로 한다.
가상 네트워크 브릿지는 게이트웨이 역할이기 때문에 게이트웨이 IP 대역인 10.10.10.1를 입력하였다.
이렇게 작성하고 저장하면 된다.
셀에서도 접속해 확인할 수 있다.
노드에 가상 네트워크 브릿지로 네트워크 연결
간단하다. 그냥 노드를 생성하거나 수정할 때 네트워크에서 브릿지를 새롭게 생성한 브릿지로 선택해 주면 된다.
다만 해당 네트워크 브릿지는 DHCP 기능이 없기 때문에 IP를 잡아줘야 한다.
만약 해당 노드의 IP를 10.10.10.2로 지정한다 했을때 설정은 다음과 같다.
이렇게 해주면 노드에서에 설정은 끝난다.
가상 네트워크 브릿지에 인터넷 연결 설정
가상 네트워크 브릿지를 생성했다고 해도 바로 인터넷 연결은 되지 않는다.
그래서 가상 네트워크에서 인터넷 연결을 하려면 먼저 셀에 접속하여야 한다.
nano /etc/network/interfaces
그 후
다음과 같은 코드를 넣어준다.
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.10.10.0/24' -o vmbr0 -j MASQUERADE
해당 코드는 아까 생성했던 vmbr1의 Ip대역 10.10.10.X의 인터넷 인바운드와 아웃바운드를 허용해주는 라우팅 설정이다.
이제 이렇게 설정해주면 노드 내에서 인터넷을 사용할 수 있다.
가상 네트워크 브릿지로 연결된 노트 포트포워딩
이제 가상 네트워크 브릿지랑 메인 네트워크랑 길을 뚫어주는 작업을 한다.
왜냐하면 가상 네트워크 브릿지도 일종의 라우터이기 때문에 포트포워딩을 안 해주면 외부에서 접속을 할 수 없다.
먼저 셀에 접속한다.
nano /etc/network/interfaces
그 다음 해당 내용을 입력한다.
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.10.10.2:80
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 10.10.10.2:80
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 10.10.10.2:443
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 10.10.10.2:443
해당 코드는 vmbr0로 tcp 포트 80과 443을 각각 10.10.10.2:80과 10.10.10.2:443으로 라우팅되게 해주는 설정이다.
이제 이렇게 하면 서버IP:80, 서버IP:443으로 접속하면 정상적으로 노드로 접속되는 것을 확인할 수 있다.
주의사항
당연히 포드끼리 충돌나지 않게 주의를 해야 한다. 만약 접속하는 외부 포트를 변경하고 싶다면
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.10.10.2:80
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.10.10.2:80
이런 식으로 포트번호만 변경해주면 된다.
이렇게 하면 서버IP:8080을 접속하면 10.10.10.2:80으로 접속한 것과 동일하다.