Tendo a porta do Linux remapeada para si mesma

4

Eu tenho um cenário: eu tenho 4 servidores e 3 solicitações de entrada na web que eu tenho que permitir através de um modem / roteador. as portas são https (ssl) 443 ssh22 e http80. Todos os 4 servidores querem isso.

Eu configurei o servidor para usar o encaminhamento de porta e o remapeamento assim:

2241->port 22 on ip 192.168.0.41
2242->port 22 on ip 192.168.0.42
2243->port 22 on ip 192.168.0.43
2244->port 22 on ip 192.168.0.44

and so on using 44341(..2..3..4) and 8041(..2..3..4)

Eu amo essa configuração. Por trás do firewall eu posso usar as portas padrão (eu prefiro isso), de fora eu posso (como eu preciso) dois pontos: em.

No entanto, duas coisas aconteceram. O antigo roteador do modem morreu e eu comprei um novo (caro) que a nova tecnologia não permitiu que mais de 8 portas fossem remapeadas. Mau. Teto de vidro artificial. Eu então configuro nos escritórios dos clientes > Eu fui ao cliente deles nem sequer tinha nenhum encaminhamento de porta, então eu comprei um novo roteador de modem (ainda mais caro) temendo que precisaria fazer mais de 8 portas, e temendo que esse tipo de porta remapeamento papel agora é um recurso "premium". Eu estava errado. O novo roteador de modem novo * * * * mais caro só permitirá que as portas sejam encaminhadas de forma plana, não permitirá que as portas sejam remapeadas. apenas encaminhe-os.

Então eu divaguei massivamente. Mas existe alguma maneira de eu ainda poder ter o remapeamento de portas que eu pensei comigo mesmo?

posso usar algo como o seguinte para me ajudar?

iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 2202 -j REDIRECT --to-port 22

existe algum motivo para evitar esse uso?

    
por conners 11.05.2012 / 18:23

2 respostas

2

Como seu roteador não suporta mapeamento de porta, você pode fazer isso em cada um dos hosts por si ou por um host.

Para encaminhar o tráfego de entrada na porta 2241 para localhost: 22, use

iptables -t nat -A PREROUTING -p tcp --dport 2241 -j REDIRECT --to-ports 22    

Para encaminhar o tráfego de entrada em 192.168.0.41:2242 para 192.168.0.42:22, você pode usar DNAT (NAT de destino). Você pode fazer isso, por exemplo, usando (existem soluções mais seguras possíveis):

echo 1 > /proc/sys/net/ipv4/ip_forward # or use /etc/sysctl.conf
iptables -t nat -A PREROUTING -p tcp --dport 2242 -j DNAT --to-destination 192.168.0.42:22 
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -P FORWARD DROP
iptables -A FORWARD -d 192.168.0.42 -p 22 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    
por 14.05.2012 / 10:47
0

Se você está pensando em substituir o roteador por um roteador Linux, tudo bem. Eu gosto de tomate para isso, mas freesco, ddwrt e openwrt farão o trabalho. Eles fornecerão um web gui como você está familiarizado com um produto, usarão o iptables para implementá-lo e fornecerão recursos de ponta em hardware de baixo custo.

    
por 13.05.2012 / 22:28