Ubuntu 19를 실행하는 VPS가 있습니다. VPS 구성은 다음과 같습니다.
- OpenVPN 서버 포트 443
- OpenVPN은 4343과 포트를 공유합니다.
- Apache2 웹 서버는 80 및 4343(SSL용)을 수신합니다.
- OpenVPN DNS 트래픽이 다음으로 전달됩니다.렌즈콩
- PiHole 업스트림 DNS를 동일한 VPS 언바운드에서 자체 호스팅으로 설정
이 설정이 작동합니다. PiHole은 VPN 클라이언트에서 광고 차단을 수행하고 Apache 4343에 의해 VPS에서 호스팅되는 웹사이트를 제외한 모든 웹사이트를 올바르게 구문 분석합니다. VPN에 연결되어 있지 않으면 웹사이트가 제대로 로드됩니다. 내 iptables 구성 아래에는 루프백이 있으므로 제대로 작동할 것이라고 생각합니다. VPN을 통해 연결하면 SSH가 제대로 작동하므로 포트 공유에서 격리된 것처럼 보입니다. 다음에서 가져온 구성PiHole 문서.
~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:http
REJECT udp -- anywhere anywhere udp dpt:80 reject-with icmp-port-unreachable
REJECT tcp -- anywhere anywhere tcp dpt:https reject-with tcp-reset
REJECT udp -- anywhere anywhere udp dpt:443 reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- 10.8.0.0/24 anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- 10.8.0.0/24 anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
답변1
문제는 pihole이 IP 주소가 127.0.0.1인 "/etc/hosts"에서 서버의 IP 주소를 읽는다는 것입니다. 해결 방법은 다음과 같이 호스트 파일을 편집하는 것입니다.
mydomain.com my domain.com
127.0.0.1 localhost