Подключение к серверу SVN с компьютера за пределами локальной сети
У меня есть сервер Fedora с Subversion и svnserve на порту 3690. Мой репозиторий находится в /var/svn/project_name. У меня маршрутизатор перенаправляет порт 3690 на локальный сервер (а также порты 80, 21, 22 и несколько других). Когда я подключаюсь локально к svn://192.168.0.2/project_name, это прекрасно работает. Когда я подключаюсь с внешнего сервера к svn://my.static.ip/project_name, я получаю тайм-аут соединения с хостом. Однако, если я http://my.static.ip/ нет проблем, так что переадресация портов работает (по крайней мере для порта 80).
Я не хочу запускать WebDAV или SVN через HTTP/s. Я хотел бы, чтобы это работало с использованием svnserve, как описано в книге svn. Что я неправильно настроил?
РЕДАКТИРОВАТЬ Вот последняя часть моего дампа iptables. Я не эксперт, но для меня это выглядит нормально:
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:svn
ACCEPT udp -- anywhere anywhere state NEW udp dpt:svn
ACCEPT tcp -- anywhere anywhere state NEW tcp dpts:6680:6699
ACCEPT udp -- anywhere anywhere state NEW udp dpts:6680:6699
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
РЕДАКТИРОВАТЬ 2 Результаты из sudo netstat -tulpn
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1455/svnserve
1 ответ
В этом случае именно сервер (поставщик услуг: Bluehost.com) блокирует порт 3690 на своем конце. Решением было либо заплатить дополнительные $$ для установки статического IP-адреса, а затем они могли открыть этот порт, либо просто использовать svn + ssh для доступа, поскольку SSH-порт 22 уже открыт.
Надеюсь, что это по крайней мере полезно для тех, кто сталкивается с подобными проблемами в среде общего хостинга.