그래서 나는 꽤 오랫동안 이것 때문에 머리를 부딪혔습니다.
나는 다음과 같은 구성을 가지고 있습니다 :
- OpenVPN 서버, IP 1.2.3.1
- OpenVPN 서버에 연결된 별표 서버, IP 1.2.3.3
- OpenVPN IP 1.2.3.6에 연결된 Raspberry PI, 로컬 인터페이스 192.168.0.17
- Raspberry PI와 동일한 로컬 네트워크의 IP 전화, 로컬 IP 192.168.0.81
네트워크는 다음과 같이 구성됩니다.
- 라즈베리의 로컬 연결은 eth0입니다.
- 라즈베리에는 IP 192.168.0.91의 추가 가상 인터페이스 eth0:1이 있습니다.
- 라즈베리의 OpenVPN 연결은 tun0입니다.
- 전화의 로컬 IP는 192.168.0.81이고 게이트웨이는 192.168.0.91(라즈베리)로 설정되어 있습니다.
라즈베리에서 iptables는 다음과 같습니다.
#Empty all routing tables
sudo iptables -t nat -F
sudo iptables -F
#Masquerade all traffic leaving tun0 as if coming from 1.2.3.6
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
#redirect all traffic coming from eth0:1 to tun0
sudo iptables -A FORWARD -i eth0:1 -o tun0 -j ACCEPT
#redirect all traffic coming from tun0 to eth0:1
sudo iptables -A FORWARD -i tun0 -o eth0:1 -j ACCEPT
#Modify all packets coming to tun0 to forward then to the IP telephone
sudo iptables -t nat -A PREROUTING -i tun0 -j DNAT --to-destination 192.168.0.81
그래서 전화를 걸 수도 있고 전화를 받을 수도 있습니다(VPN 서버에 직접 연결되어 있고 테스트를 위해 Zoiper를 사용하는 다른 노트북이 있습니다). 전화로 전화를 걸 수 있고 전화에서 노트북으로 오디오가 작동하지만 전화로 들어오는 오디오가 전혀 없습니다.
내가 도대체 뭘 잘못하고있는 겁니까?
업데이트
나는 또한 다음을 시도했다
전화에는 192.168.200.1 / 255.255.255.0 설정이 있고 192.168.200.2 / 255.255.255.0이 있는 라즈베리에 연결되어 있습니다(라즈베리 IP는 전화 게이트웨이입니다)
tun ip 10.34.87.2를 사용하는 라즈베리 파이(wlan0을 사용하여 Wi-Fi에 연결한 다음 VPN에 연결).
IPTable
sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT sudo iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
VPN 서버(10.34.87.1)에서
route add 192.168.200.0/24 10.34.87.2
참고: iptables에는 가장 무도회가 없습니다. 이제 192.168.200.1 -> 10.34.87.1(VPN 서버)에서 트래픽을 라우팅할 수 있었지만 그 반대는 아닙니다.
어떤 아이디어가 있나요?
답변1
위장이 필수인가요? 그렇지 않은 경우 휴대폰에는 Pi가 기본 게이트웨이로 있으므로 추가 노력 없이 서버에 연결할 수 있습니다. 서버가 휴대폰에 다시 연결할 수 있는지 확인하고 (필요한 경우) 서버에 192.168.0.0/에 대한 경로를 추가하세요. Pi를 통해 24 (필요에 따라 조정).