그래서, 나는 꽤 오랫동안 이것으로 머리를 두드리고 있습니다.
다음과 같은 구성이 있습니다.
- OpenVPN 서버, IP 1.2.3.1
- OpenVPN 서버에 연결된 별표 서버, IP 1.2.3.3
- RaVberry PI, 로컬 인터페이스 192.168.0.17, OpenVPN IP 1.2.3.6에 연결
- 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가 포함 된 Raspberry pi (wlan0을 사용하여 wifi에 연결 한 다음 VPN에 연결)
IPTables
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 서버)에서 라우팅 할 수 있었지만 다른 방법은 아닙니다.
어떤 아이디어?
netsed
패킷을 즉시 다시 쓸 수 있는지 테스트 하고 있습니다.