VPN 클라이언트가 서버 LAN 내부의 모든 서버에 액세스 할 수 있도록 OpenVPN을 설정하는 방법은 무엇입니까?


12

내 서버 LAN IP는 192.168.1.1이고 192.168.1.2에 인트라넷 웹 서버가 있습니다. OpenVPN 데몬은 클라이언트에게 192.168.2. * 주소를 제공하도록 구성되어 있습니다.

push "route 192.168.1.0 255.255.255.0"내가 전체 192.168.1.0 인터넷에 액세스하기 위해 VPN 클라이언트를 사용하도록 기대하는 설정 라인,하지만 그들은 단지 액세스 192.168.1.1 수 - VPN 서버 자체를.

활성화 net.ipv4.ip_forward = 1를 시도했지만 /etc/sysctl.conf도움이되지 않습니다.

어떤 아이디어?

PS : 서버가 Ubuntu 12.04를 실행합니다.
PPS : OpenVPN은 tunUDP를 통해 모드 에서 실행됩니다 .


친애하는 @FrandsHansen, 나는 동시에 1. 질문에 대한 논리적으로 올바른 답변이며, 2. 나에 의해 작동하도록 테스트 된 답변 만 받아들입니다.
Ivan

답변:


19

IP 전달이 완전히 활성화되어 있는지 확인하십시오

echo 1 > /proc/sys/net/ipv4/ip_forward

또한 경로 푸시가 작동하려면 내부의 서버도 OpenVPN 클라이언트 IP 주소에 대한 경로를 알아야합니다. 따라서 그들은 192.168.2.0/24로가는 경로를 알아야합니다.

iptables를 사용하여 가장 무도회를 통해 라우팅을 수행 할 수 있습니다.

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward제공 -bash: /proc/sys/net/ipv4/ip_forward: Permission denied-이 경우 무엇을 의미합니까?
Ivan

아마도 그것은 당신이 루트로하고 있지 않다는 것을 의미합니다. 루트로 해보십시오
Frands Hansen

와 동일한 효과입니다 sudo. 결과는 무엇입니까?
Ivan

1
명령 앞에 sudo를 넣으면 파일에 권한이 추가되지 않으며 (>) 루트로 상승한 다음 수행해야합니다.
Frands Hansen

1
또는 사용echo 1 | sudo tee
ygrek

2

LAN 네트워크가 실제로 192.168.1.0/24 인 경우 많은 문제가 발생할 수 있습니다. 대부분의 라우터에는 기본 네트워크가 있기 때문입니다. 따라서 게스트 네트워크에 있으면 컴퓨터는 192.168.1.0/24 네트워크에서 IP를 얻을 수 있습니다. 따라서 원격 네트워크가 아니라 게스트 네트워크에 액세스 할 수 있습니다. LAN 및 VPN에 다른 네트워크를 선택하는 것이 좋습니다. 예를 들어 LAN의 경우 192.170.15.0/24, VPN의 경우 10.0.5.0/xx입니다. xx는 vpn 클라이언트가 LAN에 연결하는 정도에 따라 다릅니다.

여기 openvpn에 대한 fw 스크립트가 있습니다.

#!/bin/sh

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

# Allow packets from private subnets
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

# i have multiple vpn networks
# 192.123.123.0/24 = LAN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/30 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.1.0/30 -o eth1 -d 192.123.123.39 -j MASQUERADE # to single server access only

echo 1 > /proc/sys/net/ipv4/ip_forward

아니요, 실제로는 192.168.1.0이 아니며 2 개의 다른 192.168. #. 0 그물입니다. 답변 주셔서 감사합니다.
Ivan

필요한 경우 openvpn 서버 구성과 클라이언트 구성을 공유 할 수 있습니다.
Guntis
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.