Я хочу настроить svn сервер на своем компьютере, таким образом, это доступно отовсюду.
Я думаю, что открыл репозиторий правильно, с помощью CollabSVN. Если я перехожу к Repo-браузеру с TortoiseSVN и указываю на него на svn://localhost:3690
, это показывает надлежащий репозиторий.
Проблема теперь состоит в том, что я нахожусь позади маршрутизатора. Мой локальный IP 192.168.1.45. Выполнение svn://192.168.1.45:3690
также работы. Мой глобальный IP, скажем, x.x.x.x
. Просто выполнение svn://x.x.x.x:3690
не работает, который имеет смысл, так как я должен настроить перенаправление портов.
Я использую маршрутизатор Verizon. Используя их веб-интерфейс (на 192.168.1.1
) Я добавил следующее правило перенаправления портов:
IP Address forward to: 192.168.1.45
Source Ports: Any
Dest Ports: 3690
Forward to: 3690
Protocol: TCP
Однако даже после применения этого правила, идя в svn://x.x.x.x:3690
не работает. Требуется несколько секунд для сбоя, затем говорит, что соединение не могло быть установлено, потому что сервер, подключенный с, не ответил правильно после промежутка времени. То, что интересно, то, что случайный порт, как svn://x.x.x.x:36904
сбои сразу, говоря, что целевая машина активно отказалась от соединения. Таким образом, я полагаю, что передающее правило сделало что-то, но не полностью, что было необходимо.
Какие-либо идеи о том, как получить эту работу? Модель маршрутизатора MI424-WR
и версия микропрограммного обеспечения 4.0.16.1.56.0.10.12.3
.
ОБНОВЛЕНИЕ: Я также пытался установить целевой порт на 45 000 и все еще передать 3 690, в случае, если что-то было неправильным w/порты с более низким номером, но напрасно. Я также попробовал порт 80 для портирования 3690, все еще все напрасно.
Много маршрутизаторов не поддерживают это, но если Вы попробуете его снаружи своей внутренней сети, то это будет работать.
Попросите, чтобы друг попробовал это svn://x.x.x.x:3690 от где-то в другом месте в Интернете и видел, работает ли он, или если Вы имеете учетную запись с доступом через оболочку где-нибудь, ssh к там и пробуете к svn ls svn://x.x.x.x:3690
Я не знаю название этой функции брандмауэра. Я действительно знаю, что то, чтобы заставлять Linux сделать это (который является тем, что использует Ваш wrt54gl) является вопросом добавления правила SNAT наряду с правилом DNAT.
Здесь существует ОЧЕНЬ хорошее объяснение: http://security.maruhn.com/iptables-tutorial/x9305.html