Здравствуйте!
Прошу помощи, не могу сам разобраться.
Ситуация такая, есть интернет по кабелю, воткнут в роутер, в роутер воткнут raspberry pi(ОС rasbian, основан на debian) имеет адресс 192.168.1.40.
В другом месте есть сервак на ubuntu 12.10 с интернетом, с установленным там teamspeak сервером.
Задача: подключаться к серверу teamspeak через интернет от первой точки.
Сделано: ubuntu подключается к raspberry с помощью openvpn и попадают в сеть 10.10.100.1(сервер rasbian) и 10.10.100.22(клиент ubuntu).
На роутере проброшен порт 9987 UDP на адресс 192.168.9.40(когда там стоял тоже ubuntu с teamspeak сервером и это было достаточно, всё работало)теперь там стоит raspberry, а на него нет порта teamspeak:(
На raspberry настроен iptables такого вида(видом было на самом деле уже очень много)
*mangle
:PREROUTING ACCEPT
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
COMMIT*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT
:INPUT ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
-A PREROUTING -i eth0 -p udp -m udp --dport 9987 -j DNAT --to-destination 10.10.100.22
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
что имеем с такими правилами, пытаемся подключиться клиентом teamspeak на внешний адрес роутера, выдает ошибку подключения
Смотрим tcpdump -i tun0 на обоих сереверах и видим
на raspberry
16:38:58.908512 IP user.ru.52362 > 10.10.100.22.9987: UDP, length 34
16:03:11.062634 IP user.ru.52362 > 10.10.100.22.9987: UDP, length 177
16:03:11.062634 IP user.ru.52362 > 10.10.100.22.9987: UDP, length 34
и еще несколько похожих строк
на ubuntu
16:03:11.062634 IP user.ru.52362 > 10.10.100.22.9987: UDP, length 34
16:03:11.062634 IP user.ru.52362 > 10.10.100.22.9987: UDP, length 176
16:03:11.062634 IP user.ru.52362 > 10.10.100.22.9987: UDP, length 34
и еще несколько похожих строк
пакеты идут в одну сторону, обратно не идут
Если подключаться к teamspeak серверу, напрямую по локалке то работает, также работает если подключится к серверу впн и по тунелю уже к teamspeak серверу(в впн стоит, чтоб клиенты видели друг друга).
Почему через внешний адрес не работает? Буду рад любым советам.