이중 NIC 호스트에 대한 연결된 네트워크 모델
가상 서버는 사설 LAN에 독립적 인 장치로 표시하고 호스트 서버의 IP 주소를 사용하여 공용 인터넷에서 액세스되어야.
나는 대부분의 서버에서이 네트워크 모델을 사용. 그것은 효율적으로 IP 주소를 사용합니다, 공용 인터페이스에서 가상 서버를 확보 (eth1을) 및 개인 인터페이스를 통해 직접 액세스 할 수 있습니다 (eth0를).
호스트 인터페이스
호스트는 적어도 두 개의 네트워크 인터페이스가. 내 규칙은 공용 인터넷에 연결 신뢰할 수있는 로컬 네트워크에 연결 eth1에 대한 eth0에 사용.
호스트 패키지
Proxmox의 VE 오픈 VZ 및 KVM 컨테이너와 가상 머신을 관리하는 데 사용됩니다. 이 호스트 서버에 유용한 인터페이스를 제공합니다. Proxmox 클러스터링을 구성 할 때 동일한 인터페이스는 여러 호스트에 액세스하는 데 사용할 수 있습니다.
고급 정책 방화벽 (APF) 방화벽 iptables를 구성하고 유지 관리 할 수있는 편리한 방법을 제공합니다. APF는 네트워크 주소 변환을 제공하도록 구성되어 있습니다 (NAT) 공용 IP에서 컨테이너, 필터링 및 인척을 빠져 나갈. 마스커레이딩은 호스트의 IP 주소에있는 eth1 컨테이너의 IP 주소를 변경하는 데 사용.
NGINX 루트 포트에 역방향 프록시로 사용 80 과 443 적당한 용기에 대한 요청.
공용 인터페이스 구성
게스트 다리 vmbr1는 컨테이너를 연결하기 위해 생성됩니다. 이 다리는 호스트 서버에 액세스 할 수 있습니다 만. APF와 NGINX이 투숙객 다리를 통해 컨테이너에 공용 인터페이스 Eth1이에서 트래픽을 라우팅 구성.
네트워크 인터페이스
WAN 인터페이스는 네트워크 인터페이스 파일에 정의되어. 아래의 발췌입니다 /등 / 네트워크 / 인터페이스 데비안 시스템의 파일:
1 |
# WAN Public Interface |
1 2 |
# See Also: APF Configurationauto eth1 iface eth1 inet static |
1 |
address 12.23.45.67 |
1 |
netmask 255.255.255.0 |
1 |
broadcast 12.23.45.255 |
1 |
network 12.23.45.0 |
1 |
gateway 12.23.45.1# GUEST Private Network |
1 |
# Routable to eth1 via APF Configuration |
1 2 3 4 5 6 7 |
auto vmbr1 iface vmbr1 inet static address 192.168.80.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 |
APF의 Preroute 규칙 (NAT)
APF는 컨테이너에 공용 인터페이스에서 라우팅 특정 포트에 사용됩니다. 아래의 preroute.rules 예는 SSH 액세스가 컨테이너로 라우팅되는 방법을 보여줍니다. 대상 주소 vmbr1에.
$IPT-T NAT-A PREROUTING-D 12.23.45.67 -P는 TCP-I eth1에 - Dports XXX-j를 DNAT - 투 - 이명 령 192.168.80.XXX:YYY
APF Postroute 규칙 (가장 무도회)
아래의 postroute.rules 예제는 APF는 iptables에 대한 가장 무도회를 구성하는 데 사용되는 방법을 보여줍니다. vmbr1 네트워크에서 소스 IP 주소는 호스트의 공용 IP 주소로 변경, 어떤은 12.23.45.67 이 예에서.
$IPT-T NAT-A POSTROUTING-S 192.168.80.0/24 -O eth1에-j를 SNAT - 투 - 소스 12.23.45.67
포트에 대한 NGINX 역방향 프록시 80 과 443
가상 호스트에 대한 NGINX 구성 파일 경로 웹 요청을 정의. 여기에 하나의 가상 호스트에 대한 위치 지시문을 보여 발췌입니다.
1 |
server { |
1 2 |
server_name jaroker.com; listen 443; |
1 |
location / { |
1 2 3 4 |
# Redefine request headers that are transferred to proxied server proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |
1 2 3 4 5 |
proxy_pass http://192.168.80.YY; proxy_redirect off; proxy_read_timeout 90; } } |
개인 인터페이스 구성
개인 LAN은 신뢰할 수있는 네트워크입니다. 우리는 방화벽 규칙 신뢰 인터페이스 eth0를 통해 LAN에서 트래픽을 방해하고 싶지 않아. 트래픽은 네트워크 인터페이스 파일에 구성되어 정책 기반 라우팅을 사용하여 컨테이너에서 라우팅. 아래의 예는 데비안입니다.
IP 경로 테이블
라우팅 테이블 이름은 / etc/iproute2/rt_tables 파일에 편의를 위해 생성됩니다. 아래의 예, 이 테이블이라고합니다 T0 용 "eth0에서 표".
501 T0
정책 기반 라우팅은 네트워크 인터페이스 파일에 구성되어 있습니다. 데비안 기반 시스템 용, 이 라우팅에 생성됩니다 /등 / 네트워크 / 인터페이스 파일.
# LAN에서 볼 수 명
# APF가 관리하지 -- 이 구성 Fileiface eth0를 INET 설명서의 구성 라우팅
자동 vmbr0
정적 IFACE vmbr0 네트
주소 192.168.10.YY
넷 마스크 255.255.255.0
방송 192.168.10.255
eth0을 bridge_ports
오프 bridge_stp
bridge_fd 0
포스트 업 IP 라우팅 테이블을 플러시 T0
포스트 업 IP 경로를 통해 기본 추가 192.168.10.1 dev에 vmbr0 T0 테이블
포스트 업 IP 규칙은 192.168.10.YY 테이블 T0 우선 순위에서 추가 501
의견을 가장 먼저 만나보세요. 코멘트를 남겨주세요