encaminhar a porta pública 81 para a porta 80 no ip local

3

Eu sou novo no serverfault, então, por favor, informe-me sobre qualquer mau comportamento:)

Eu procurei serverfault (e google) por uma resposta, mas não consigo encontrar a resposta para o meu problema (eu posso encontrar respostas que são parcialmente o que eu preciso, mas falta-me o conhecimento / experiência para combiná-las à solução do meu problema)

o problema é o seguinte: - Eu tenho um servidor público com porta 81 que está disponível no endereço IP público - Eu tenho um servidor local com porta 80 que não está disponível para o público - Eu quero que o usuário se conecte à porta 81 no endereço IP público e chegue à porta 80 do servidor local (192.168.98. ###)

eu acho que preciso fazer algumas configurações com o iptables, mas isso é muito nebuloso para mim

Eu tentei algumas respostas de Como posso encaminhar para a frente com o iptables? mas eu me deparo com todos os tipos de erros

algumas perguntas: - o servidor local precisa ter alguma configuração especial? Por exemplo, eu tenho que definir o gateway para o endereço IP do servidor público? - / proc / sys / net / ipv4 / conf / ppp0 não existe, isso é um problema?

não há portas bloqueadas pelo firewall

eu tenho controle total sobre o servidor público que está sendo executado:

# cat /proc/version
Linux version 2.4.22-1.2115.nptl ([email protected]) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-6)) #1 Wed Oct 29 15:42:51 EST 2003
# iptables --version
iptables v1.2.8

eu não sei o sistema operacional do servidor local e não tenho controle sobre sua configuração

você poderia me explicar quais configurações do iptables eu poderia usar, ou qualquer outra configuração?

    
por Hrqls 04.12.2012 / 09:40

1 resposta

3

Em primeiro lugar, você não precisa lidar com isso /proc/sys/net/ipv4/conf/ppp0 , se você não estiver executando um modem no seu gateway.

A primeira coisa que você precisa fazer é ativar o encaminhamento no seu gateway da seguinte forma:

# echo '1' > /proc/sys/net/ipv4/conf/eth0/forwarding (if you are running your live IP on eth0)

Em seguida, basta encaminhar seu tráfego assim:

# iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80
# iptables -A FORWARD -p tcp -d 192.168.1.2 --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Você deve substituir o 192.168.1.2 pelo IP interno da sua máquina. Além disso, substitua eth0 pela interface na qual você tem o IP ativo em seu gateway.

e, finalmente, como dado no post que você leu anteriormente, você pode verificar o roteamento com

# ip route

Espero que isso tenha ajudado. Sinta-se à vontade para reverter caso você enfrente um problema.

Além disso, por favor poste os erros que você recebe neste processo.

    
por 04.12.2012 / 10:21