Почему я не могу получить доступ к серверу svn удаленно?

Я использовал svnserve на моем сервере CentOS. И у меня на сервере есть открытый порт 3690. Как вы можете видеть, результат выполнения команды iptables -L показан следующим образом:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:webcache 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:mysql 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:5901 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ddi-tcp-1 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:svn 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:search-agent 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:svn 

И я запустил svnserve на моем сервере, так как я могу успешно выполнить проверку на моем сервере с помощью команды svn co svn: // IP-адрес / имя .
Тем не менее, когда я пытаюсь проверить с ноутбука. Говорят, что в соединении отказано. Кроме того, я проверил соединение через ip-порт telnet , там сказано: telnet: невозможно подключиться к удаленному хосту. Это довольно сбивает с толку, так как у меня открыт порт 3690, а моя служба svn определенно прослушивает порт 3690. Что может быть причиной этого? И что мне делать, чтобы получить доступ к svn-серверу удаленно?

0
15.07.2017, 15:58
1 ответ

IPtables обрабатывают правила сверху вниз. Вот проблема:

Обратите внимание на следующие правила:

REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:svn 

После правила Reject allвсе пакеты отбрасываются, включая ваше правило svn. Вот почему вы не можете подключиться.

Решение:

Поместите следующее правило как последнее в цепочку INPUT, если вы действительно хотите отбросить все остальные пакеты:

iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
0
28.01.2020, 04:43

Теги

Похожие вопросы