Raspberry Pi에 OpenVPN 서버를 설정하고 기반으로어떻게. 서버의 서브넷(192.168.123.0/24)에 있는 특정 호스트와 클라이언트를 노출하고 싶습니다.
나는 사용했다
push route 192.168.123.0 255.255.255.0
server.conf 파일에 있습니다. 또한 iptables
다음과 같은 방법으로 설정했습니다 .
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#allow ssh and vpn on pi - working fine
...
~에 따르면OpenVPN - 액세스 정책이렇게 하면 트래픽이 특정 호스트나 전체 서브넷으로 전달될 수 있습니다(HOWTO에서 가져온 줄 - 이 주소는 실제 주소 범위가 아닙니다).
# Employee rule
iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -d 10.66.4.4 -j ACCEPT
# Sysadmin rule
iptables -A FORWARD -i tun0 -s 10.8.1.0/24 -d 10.66.4.0/24 -j ACCEPT
# Contractor rule
iptables -A FORWARD -i tun0 -s 10.8.2.0/24 -d 10.66.4.12 -j ACCEPT
이 중 어느 것도 도움이 되지 않습니다. 하지만 내가 설정하면
iptables -P FORWARD ACCEPT
다른 것은 없습니다. 내가 원하지 않는 모든 호스트를 볼 수 있습니다. 내가 뭘 잘못했나요?
당신의 도움을 주셔서 감사합니다.
답변1
레벨 8에는 항상 버그가 있습니다!
터널 장치를 통해 트래픽을 다시 허용하는 것을 잊었습니다.
해결책은
#Set default policy of chain
iptables -P FORWARD DROP
#allow traffic to route from VPN subnet to specific host in subnet
iptables -A FORWARD -i tun0 -s {VPN subnet} -d {host in server subnet} -j ACCEPT
#allow traffic from host in server subnet back to VPN subnet
iptables -A FORWARD -o tun0 -s {host in server subnet} -d {VPN subnet}
나는 다음 기사에서 영감을 얻었습니다.