4

Если я подключаюсь к серверу openvpn через порт 1194 из Tunnelblick на Mac (OSX 10.10), как я могу убедиться, что порт, используемый Transmission (например, 66887), будет открыт для входящих подключений?

Текущая настройка:

Подключен к точке доступа Wifi (вне моего контроля, нет доступа к настройкам маршрутизатора) Подключен к серверу OpenVPN (у меня есть полный контроль над конфигурацией)

Передача «работает», но идет медленно, и порт отображается как закрытый в настройках сети передачи. VPN-соединение openvpn работает нормально для всего стандартного http-трафика.

Openvpn работает на удаленном сервере Ubuntu. Я попытался использовать UFW, чтобы открыть вышеупомянутый порт, но это не имело никакого эффекта, и я подозреваю, что требуется более глубокая конфигурация сети.

Версия openvpn - OpenVPN 2.3.2 x86_64.

Можно ли переадресовать порт 66887 в этом сценарии или мне нужен доступ к маршрутизатору локальной сети, чтобы это работало?

Я попытался изменить адрес привязки - BindAddressIPv4 - для передачи через plist-файл настроек, но либо сделал это неправильно, либо это не имело значения.

2 ответа2

3

Удивило, что никто не заметил, но 66887 не является действительным номером порта.

https://stackoverflow.com/questions/113224/what-is-the-largest-tcp-ip-network-port-number-allowable-for-ipv4#113228

Номер порта представляет собой 16-разрядное целое число без знака, то есть 65535.

Допустимый диапазон для портов 0-65535.
Поскольку вы указываете неверный порт 66887, большинство операционных систем усекает его до 1351:

[root@f ~]# tcpdump -qnn host 8.8.8.8 & telnet 8.8.8.8 66887
[1] 4054
Trying 8.8.8.8...
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
15:30:56.175482 IP 10.0.0.42.60280 > 8.8.8.8.1351: tcp 0

Или в C:

[root@f ~]# cat > 16.c << EOF
> #include <stdio.h>
> #include <stdint.h>
> int main(void) {
>  uint16_t port=66887;
>  printf("%d\n",port);
>  return 0;
> }
> EOF
[root@f ~]# gcc -o 16 16.c
16.c: In function ‘main’:
16.c:4: warning: large integer implicitly truncated to unsigned type
[root@f ~]# ./16
1351
3

Вам нужно перенаправить порт на ваш сервер openvpn.

Я не знаю команд ufw, но с использованием iptables эти команды будут (с 10.8.0.6 IP-адресом вашей машины при подключении к VPN и 66887 портом для переадресации):

iptables -t nat -A PREROUTING -p tcp --dport 66887 -j DNAT --to 10.8.0.6:66887
iptables -t nat -A PREROUTING -p udp --dport 66887 -j DNAT --to 10.8.0.6:66887

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .