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.1
haproxy
discourse.test.com:80
discourse.test.com