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

関連情報