Redirecionar acesso externo ao Servidor de Serviço Web Interno

Iniciado por eberga, 07 de Janeiro de 2014, 15:12

tópico anterior - próximo tópico

eberga

Estou com a seguinte situação:

Tenho um link de fibra da Copel onde está configurado em um servidor com firewall iptables e squid.
Dentro da minha rede interna eu tenho um servidor de aplicações web (ERP Acadêmico).

Dados da Rede:
Rede externa(eth0): 177.220.x.x
Rede interna(eth1): 192.168.5.1

# LINK DO MODEM/FIBRA
allow-hotplug eth0
auto eth0
iface eth0 inet static
address 177.220.x.x
netmask 255.255.255.248
gateway 177.220.x.x
network 177.220.x.x

# REDE ADM
allow-hotplug eth1
auto eth1
iface eth1 inet static
address 192.168.5.1
netmask 255.255.255.0
network 192.168.5.0
broadcast 192.168.5.255

Já usei vários comandos, e sempre quando acesso, vai para pagina do apache do meu servidor de proxy/firewall.
Comando que usei por ultimo:
# iptables -t nat -A PREROUTING -d 177.220.x.x -p tcp --dport 90 -j DNAT --to 192.168.5.10


Necessito de um comando de direcionamento para o meu firewal, onde o usuário externo acesse o link (http://177.220.x.x/sg_web/acesso.aspx?escola=3934)e acesse o meu servidor interno. Caso alguém conheça uma outra solução, estarei disposto a aprender.


Antecipadamente obrigado.

zekkerj

Se vc redireciona a porta 90 (... --dport 90 ...), tem que usar o número da porta no url, ou seja, tem que acessar como http://177.220.0.3:90/sg_web/acesso.aspx?escola=3934 .

Tem algumas alternativas que vc pode usar, uma delas é usar o Apache do firewall para redirecionar o acesso para as máquinas da rede interna, via mod_proxy. Claro que tudo isso tem implicações de segurança, que vc deve analisar com cuidado.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

eberga

Não dá para acessar, se eu aceso apenas o ip cai direto no servidor apache onde o FW está configurado.
Já tentei fazer uma vlan e nada adiantou.

O cenário é o seguinte:

Link externo com ip configurado na eth0 (177.220.x.x), Rede interna configurada na eth1 (192.168.5.1).
Criei uma vlan:
eth1.100  Link encap:Ethernet  Endereço de HW 84:c9:b2:6f:dc:87
inet end.: 177.220.x.7  Bcast:177.220.x.x  Masc:255.255.255.248

E add as seguintes regras no iptables:
iptables -A FORWARD -p tcp --dport 90 -j ACCEPT
iptables -t nat -A PREROUTING -d 177.220.x.x -p tcp --dport 90 -j DNAT --to 192.168.5.10:90
iptables -A FORWARD -s 177.220.x.x -p tcp --dport 90 -d 192.168.5.10 -j ACCEPT

e mesmo assim não acesso o meu servidor do lado externo p/ interno.
Eu add a porta no link não abre nd.


zekkerj

vlan não vai te resolver mesmo, não é pra isso que se usa vlans.

volto a dizer: se vc redirecionou a porta 90/tcp, tem que acessar na porta 90, não na porta 80. Tem que modificar o URL.

Se vc não quer modificar o URL, tem que redirecionar a porta 80, não a porta 90.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

eberga

Amigo, eu estou tentando fazer o acesso via porta :90 porém sem sucesso.
Acabei de alterar a porta do meu serviço p/ porta 80 e deletei minha vlan, no iptables a config está assim:

iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 177.220.161.26 --dport 80 -j DNAT --to-destination 192.168.5.10
iptables -A FORWARD -s 177.220.x.x -j ACCEPT
iptables -A FORWARD -d 177.220.x.x -j ACCEPT

quando acesso o link http://177.220.x.x/ o acesso para no servidor real onde o iptables, o squid e o apache estão configurados. não sei mais o que fazer.

Arthur Bernardes


eberga

Pois é amigo, acabei de encontrar a solução.

Pode ser que alguém precise.
As regras ficaram assim:

       iptables -t nat -A PREROUTING -d 177.220.x.x/20 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.5.10:80
       iptables -t nat -A POSTROUTING -d 192.168.5.10/24 -p tcp -m tcp --dport 80 -j SNAT --to-source 177.220.x.x
       iptables -A FORWARD -d 192.168.5.10 -j ACCEPT
       iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
       iptables -A FORWARD -s 192.168.5.10/24 -j ACCEPT
       iptables -A FORWARD -d 192.168.5.10/24 -j ACCEPT
       iptables -A FORWARD -s 177.220.x.x/20 -j ACCEPT
       iptables -A FORWARD -d 177.220.x.x/20 -j ACCEPT

Todo acesso, interno ou externo, ao 177.220.x.x na porta 80 está sendo redirecionado a 192.168.5.10:80.

Obrigado pela força Arthur.

zekkerj

Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

eberga

Estava testando tanto na externa quanto na interna, devido ao meu conhecimento limitado quanto a fw iptables, eu acho que tinha deixado a ordem dos IPs nas regras erradas.
Neste momento tenho acesso ao serviço tanto na externa quanto na interna no endereço do IP fixo.