Итак, я бился головой с этим в течение достаточно долгого времени.
У меня есть следующая конфигурация:
- Сервер OpenVPN, IP 1.2.3.1
- Сервер Asterisk, подключенный к серверу OpenVPN, IP 1.2.3.3
- Raspberry PI, локальный интерфейс 192.168.0.17, подключен к OpenVPN IP 1.2.3.6
- IP-телефон в той же локальной сети, что и Raspberry PI, локальный IP 192.168.0.81
Сети настроены следующим образом:
- Локальное соединение по малине - это eth0
- Raspberry имеет дополнительный виртуальный интерфейс eth0:1 с ip 192.168.0.91
- 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 настроек, подключен к Raspberry, который имеет 192.168.200.2 / 255.255.255.0 (Raspberry IP является шлюзом для телефона)
Raspberry pi с tun ip 10.34.87.2 (подключается к wifi с помощью wlan0, затем к 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-сервер), но не наоборот.
Есть идеи?