Permitir OpenVPN através de uma porta específica - CentOS 6.5

1

Eu possuo um VPS (CentOS 6.5). Eu instalei o OpenVPN neste servidor. Tudo funciona bem, eu consigo conectar e navegar, etc. Digamos que meu IP do servidor seja: 1.2.3.4 . Quando me conecto ao meu VPS, meu IP é 1.2.3.4 .

Eu também instalei o OpenERP (no mesmo VPS) que está sendo executado na porta 8069.

O que estou tentando alcançar é bloquear todo o tráfego na porta 8069, exceto o tráfego da VPN. Então, eu tenho que conectar ao meu VPS com o OpenVPN para acessar http://1.2.3.4:8069 .

Eu tentei vários tutoriais do iptables na net, mas nenhum deles está funcionando.

Por exemplo:

iptables -A INPUT -p tcp -s 1.2.3.4 --dport 8069 -j ACCEPT 
or 
iptables -A INPUT -p tcp -s  10.8.0.0/24 --dport 8069 -j ACCEPT
or
iptables -I INPUT \! --src 10.8.0.0/24 -m tcp -p tcp --dport 8069 -j DROP
or
iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 8069 -j DROP

Estes são exemplos. Eu tentei ainda mais regras. Todos os tutoriais que eu segui bloqueiam todo o tráfego na porta 8069, mesmo se eu me conectar ao meu VPS com o OpenVPN não consigo acessar http://1.2.3.4:8069 .

Alguém tem uma ideia de como bloquear todo o tráfego na porta 8069, exceto minha conexão VPN? Como faço para isso?

Meu server.conf é:

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push "dhcp-option DNS 10.8.0.1"
user nobody
group nobody
keepalive 5 30
cipher AES-256-CBC   
comp-lzo
persist-key
persist-tun
verb 5

Meu cliente conf é:

dev tun
client
proto udp
remote 1.2.3.4
port 1194
resolv-retry infinite
nobind
redirect-gateway def1
persist-key
persist-tun
ca ca.crt
cert nika-pc.crt
key nika-pc.key
cipher AES-256-CBC   
comp-lzo
ns-cert-type server
verb 5

Obrigado antecipadamente.

Editar:

Saída: iptables -L -n -v

link

Saída: iptables -L -n -v | cabeça

link

    
por Nika452 27.12.2013 / 20:41

2 respostas

1

Minha palavra, que é uma configuração de firewall complexa (embora um monte horrível das regras tenha zero contagem de pacotes, o que me faz pensar que há muitos problemas históricos lá). Em vez de investigar, tentando descobrir qual regra existente está capturando esse tráfego por engano, sugiro que cortemos e simplesmente coloquemos as regras relevantes no topo:

iptables -I INPUT 1 -p tcp -i tun+ --dport 8069 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 8069 -j REJECT

Editar : Eu realmente incentivo você a editar as atualizações em sua pergunta, em vez de deixar uma série interminável de links pastebin, que podem ou não permanecer ao longo do tempo. De qualquer forma, obrigado pela nova saída. Como você pode ver, as contagens de pacotes na primeira regra são zero, o que aquelas na segunda regra (recusa de cobertor) definitivamente não são. A única conclusão que resta é que você está enganado sobre esse tráfego usando a conexão OpenVPN; é bem claro que vem da internet. Se você quiser ser completamente , adicione uma terceira regra entre as duas acima, com

iptables -I INPUT 2 -p tcp --dport 8069 -j LOG --log-prefix "CARROT: "

A menos que a palavra CARROT apareça muito em seus arquivos de registro, será fácil encontrar a saída dessas correspondências nos registros do sistema ( /var/log/messages ou como syslog / sua distribuição considere apropriado) e eles devem confirmar qual interface os pacotes que estão sendo recusados estão chegando. Eu não espero que seja tun0 .

    
por 28.12.2013 / 07:43
0

Eu adiciono uma resposta porque não posso adicionar um comentário. Eu acho que o protocolo usado é o udp e não o tcp então

iptables -I INPUT 1 -p udp -i tun+ --dport 8069 -j ACCEPT
iptables -I INPUT 2 -p udp --dport 8069 -j REJECT
    
por 30.12.2013 / 17:02