Linux 포트 전달 문제

Linux 포트 전달 문제

더 이상 나무가 보이지 않아요. 어떤 힌트라도 감사하겠습니다.

루트 서버가 있고 proxmox가 설치되어 있는데 공용 IP가 하나만 있습니다. 라우팅 설정으로 진행되었습니다. 2FA 및 TLS 인증과 같은 몇 가지 기본 사항을 설정한 다음 계속해서 pfsense를 실행하여 개인 서브넷에 VPN을 열고 인터넷에서 proxmox 웹 UI로의 액세스를 차단할 수 있도록 했습니다.

캔트내가 무엇을 놓쳤는지 알아내세요. 무슨 일이 있어도 데비안에서 pfsense VM이 작동하도록 포트 포워딩을 할 수 없는 것 같습니다.

IP 전달이 활성화되었습니다:

cat /proc/sys/net/ipv4/conf/enp35s0/forwarding
1

내 프라이빗 서브넷과 일부 클라이언트 VM이 있고 모든 것이 잘 작동합니다.

auto vmbr1
iface vmbr1 inet static
        address 10.0.0.0/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0

공개 주소와의 주요 인터페이스:

auto enp35s0
iface enp35s0 inet static
        address 1.1.1.175/26
        gateway 1.1.1.129
        up route add -net 1.1.1.128 netmask 255.255.255.192 gw 1.1.1.129 dev enp35s0

enp35s0에서는 모든 것이 양호하며 SSH 및 웹 UI 액세스가 가능합니다. 내가 추측하는 구성은 다음과 같습니다. 어떻게 든 잘못되었습니다.

auto vmbr0
iface vmbr0 inet static
        address 172.16.0.1
        netmask 255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
        # NAT
        post-up   iptables -t nat -A POSTROUTING -s '172.16.0.0/24' -o enp35s0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '172.16.0.0/24' -o enp35s0 -j MASQUERADE
        # Port Forward
        post-up iptables -t nat -A PREROUTING -d 1.1.1.175 -p tcp --dport 1194 -j DNAT --to-destination 172.16.0.2:1194
        post-up iptables -A FORWARD -p tcp -d 172.16.0.2 --dport 1194 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
        post-up iptables -A POSTROUTING -t nat -p tcp -m tcp -s 172.16.0.2 --sport 1194 -j SNAT --to-source 1.1.1.175
        post-down iptables -t nat -D PREROUTING -i enp35s0 -p tcp --dport 1194 -j DNAT --to 172.16.0.2:1194

그래서 기본적으로:

< 인터넷 > <데비안 1.1.1.175> <pfSense 172.16.0.2 / 10.0.0.1> <클라이언트 10.0.0.2>

클라이언트는 pfSense DHCP에서 IP를 얻고 pfsense를 핑하고 인터넷에 연결할 수 있습니다. 나는 이것이 vmbr0의 기본 기능과 라우팅이 예상대로 작동한다는 것을 의미한다고 생각합니다.

작동하지 않는 점은 외부에서 pfSense에 구성된 OpenVPN 서버에 연결할 수 없다는 것입니다. nmap으로 테스트하면 포트가 닫혔다고 보고됩니다.

어떤 아이디어가 있나요?

편집1: 내장된 PVE 방화벽을 사용하지 않습니다.

Nikita가 제안한 대로 나는 다음과 같은 IP 전달로 구성을 유지했습니다.

grep ip_forward /etc/sysctl.conf
net.ipv4.ip_forward=1

iptables 저장을 생성하고 서버를 재부팅하여 구성이 지속되는지 확인했습니다. 인터페이스 구성은 이제 다음과 같습니다

auto vmbr0
iface vmbr0 inet static
        address 172.16.0.1
        netmask 255.255.255.0
        bridge-ports none
        bridge-stp off
        bridge-fd 0

EDIT2: 라우팅 테이블이 괜찮아 보입니다.

default via 1.1.1.129 dev enp35s0 proto kernel onlink
10.0.0.0/24 dev vmbr1 proto kernel scope link src 10.0.0.0
1.1.1.128/26 via 1.1.1.129 dev enp35s0
1.1.1.128/26 dev enp35s0 proto kernel scope link src 1.1.1.175
172.16.0.0/24 dev vmbr0 proto kernel scope link src 172.16.0.1

관련 정보