haproxy ACL에서 OpenVPN 네트워크를 정의하는 방법

haproxy ACL에서 OpenVPN 네트워크를 정의하는 방법

haproxy ACL에서 OpenVpn 네트워크를 정의하고 싶습니다. OpenVPN 서버와 haproxy는 동일한 서버(XXXX/32)에서 실행됩니다. OpenVPN 네트워크의 요청만 허용하도록 haproxy를 설정할 수 있습니까? 다음과 같이 시도했지만 작동하지 않습니다.

acl vpnnetwork src 10.10.0.0/16

미리 감사드립니다

OpenVPN conf 파일을 첨부합니다:

port 1194
proto udp6
dev tun

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh.pem
crl-verify /etc/openvpn/keys
crl-verify /etc/openvpn/keys/ca-crl.pem
tls-auth /etc/openvpn/keys/ta.key 0
tls-server
auth SHA256
cipher AES-256-CBC
tls-version-min 1.2
tls-cipher TLS-ECDHE-ECDSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384:TLS-DHE-RSA-WITH-AES-256-GCM-SHA384:TLS-ECDHE-ECDSA-WITH-AES-256-CBC-SHA384:TLS-ECDHE-RSA-WITH-AES-256-CBC-SHA384:TLS-DHE-RSA-WITH-AES-256-CBC-SHA256
client-to-client

server 10.10.0.0 255.255.0.0
ifconfig-pool-persist ipp.txt

keepalive 5 30
persist-key
persist-tun
user nobody
group nogroup


status openvpn-status.log
status-version 1
log-append /var/log/openvpn.log
verb 3

답변1

이것은 나에게 맞는 haproxy cfg입니다.

frontend http_in
        mode http
        option httplog
        bind *:80       
        option forwardfor

        http-request deny if !{ src 10.10.0.0/16 }

        acl discourse_acl hdr(host) -i discourse.test.com
        use_backend discourse_http if discourse_acl

backend discourse_http
        mode http
        option httplog
        option forwardfor
        server discourse_server 10.115.0.2:8080

도메인 이름은 (VPN 네트워크의 IP)를 discourse.test.com가리켜야 하며 다시 로드되어야 합니다. VPN에 연결하면 제대로 작동하지만, VPN이 없으면 검색할 수 없습니다 .10.10.0.1haproxydiscourse.test.com:80discourse.test.com

관련 정보