У меня есть сервер 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
В этом случае это был сам сервер (поставщик услуг: Bluehost.com), который блокирует порт 3690 на своей стороне. Решение заключалось в том, чтобы либо заплатить дополнительные $ за установку статического IP-адреса, а затем открыть этот порт, либо просто использовать svn + ssh для доступа, поскольку 22-й порт SSH уже открыт.
Надеюсь, это по крайней мере полезно для всех, кто сталкивается с подобными проблемами в среде общего хостинга.