Iptables PREROUTING para redirecionar a porta 80 através do verniz para o IP selecionado

1

Eu instalei o verniz no meu servidor e gostaria de testar a configuração sem afetar o uso normal. Eu tenho o apache escutando na porta 80 e o verniz na porta 8080. Então, eu quero que todos os pedidos do meu IP a.b.c.d passem pelo verniz e todos os outros IPs tenham permissão para acessar o apache normalmente.

Eu li em algum lugar que é possível usar o PREROUTING no Iptables para conseguir isso. Alguém pode me dizer como fazer isso? Eu tenho 2 sites hospedados no servidor, é possível configurá-lo para apenas um domínio?

Atualizar
Eu tentei o comando, mas não funcionou

root@git:~# iptables -A PREROUTING -t nat -i venet0 -p tcp -s 117.201.192.67 --dport 80 -j REDIRECT --to-port 8000
root@git:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
root@git:~# iptables -A PREROUTING -t nat -i venet0:0 -p tcp -s 117.201.192.67 --dport 80 -j REDIRECT --to-port 8000
Warning: weird character in interface 'venet0:0' (No aliases, :, ! or *).
root@git:~# iptables -A PREROUTING -t nat -p tcp -s 117.201.192.67 --dport 80 -j REDIRECT --to-port 8000
root@git:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Estou em um VPS e não tenho uma interface chamada eth0 . /sbin/ifconfig listas lo , venet0 , venet0:0 , venet0:1 e venet0:2 apenas.

Atualização 2 - Inserir a regra no começo funcionou

iptables -t nat -I PREROUTING -p tcp -s 117.201.192.67  --dport 80 -j REDIRECT --to-port 8000

É possível verificar o nome do host solicitado também? Desejo redirecionar apenas solicitações para mydomainname.com

    
por Joyce Babu 27.04.2011 / 07:20

1 resposta

2

Você pode especificar o endereço de origem (ou rede) em um redirecionamento do iptables da seguinte forma:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

As regras são lidas de cima para baixo e a primeira correspondência é válida, então você pode ter que colocá-la no lugar certo.

    
por 27.04.2011 / 09:09