¿Qué reglas de firewall debo agregar para Subgit?

Instalé Stash con el plugin espejo SVN , que instala subgit.

Tengo iptables configurado algo así como:

Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere anywhere tcp dpt:7990 ACCEPT tcp -- yyy.yyy.yyy.yyy anywhere tcp spt:mysql ACCEPT udp -- anywhere anywhere udp spt:domain ACCEPT all -- xxx.xxx.xxx.xxx anywhere ACCEPT tcp -- anywhere anywhere tcp dpt:7999 ACCEPT tcp -- anywhere anywhere tcp spt:http state ESTABLISHED Chain FORWARD (policy DROP) target prot opt source destination Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT tcp -- anywhere yyy.yyy.yyy.yyy tcp dpt:mysql ACCEPT tcp -- anywhere anywhere tcp spt:ssh state ESTABLISHED ACCEPT tcp -- anywhere anywhere tcp spt:7990 ACCEPT tcp -- anywhere anywhere tcp dpt:38724 ACCEPT all -- anywhere xxx.xxx.xxx.xxx ACCEPT tcp -- anywhere anywhere tcp spt:7999 ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW,ESTABLISHED 

Donde xxx.xxx.xxx.xxx es la IP del server SVN. La synchronization inicial funciona con estas configuraciones. Pero cuando me comprometo con SVN, los cambios no se verán. Si cambio la política de INPUT y OUTPUT para ACEPTAR, los cambios se sincronizarán instantáneamente. Entonces, ¿qué más debo permitir?

 iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT 

Lo hizo.

No podría ayudar con la configuration exacta de iptables, pero para SVN Mirror Add-On (y para SubGit) lo siguiente es correcto:

1) SubGit requiere acceso total al proyecto de Subversion que refleja.

Desde la perspectiva del protocolo, debe poder acceder al repository de Subversion de destino a través de http (s) (puerto 80 o 443) o protocolo svn (puerto 3690). Acceder aquí significa establecer una connection con un host de repository Subversion en el puerto y luego enviar y recibir datos a través de la connection establecida. Eso es lo que deberían permitir las reglas de iptables.

Consulte esta publicación para get detalles sobre los puertos que Subversion utiliza para diferentes protocolos: qué puertos deben estar abiertos para que svn tortoise se autentique (text claro) y confirmar

2) SubGit inicia un process en segundo plano y se comunica con él a través del protocolo tcp.

Esa comunicación solo involucra localhost y el puerto se selecciona aleatoriamente de aquellos disponibles en el momento para un usuario particular. Por lo tanto, sus reglas de iptables deberían permitir que se abran y accedan todos los puertos en el host local desde el host local.

¡Espero que ayude!