ipt de redirecionamento baseado em iptables, estilo de portal cativo

3

O que é um conjunto de regras do iptables que forçará hosts conectados a um ponto de acesso que tente acessar qualquer site (porta 80 de qualquer IP ou nome de host) a ser redirecionado para outro dispositivo na rede (que é realmente separado)?

Por exemplo, o segundo servidor (que hospeda o servidor da web) é conectado via ethernet e tem um IP 192.168.1.99/24 (eth0)

O servidor primário hospeda um ponto de acesso sem fio (do adaptador wlan0ap) e tem um IP de 192.168.12.1/24. Eu quero fazer com que qualquer usuário wifi do hotspot (na rede 192.168.12.0/24) que tentar acessar 192.168.12.1:80 ou 192.168.12.4:80 ou google.com:80 seja redirecionado para 192.168 1,99: 80.

Atualmente, testei essas regras em combinação com a ativação de net.ipv4.ip_forward=1 settings em sysctl

sudo iptables -A POSTROUTING -t nat -o wlan0ap -j MASQUERADE
sudo iptables -t mangle -N internet
sudo iptables -t mangle -A PREROUTING -i wlan0ap -p tcp -m tcp --dport 80 -j internet
sudo iptables -t mangle -A PREROUTING -i wlan0ap -p tcp -m tcp --dport 443 -j internet
sudo iptables -t mangle -A internet -j MARK --set-mark 99
sudo iptables -t nat -A PREROUTING -i eth1 -p tcp -m mark --mark 99 -m tcp --dport 80 -j DNAT --to-destination 192.168.1.98
    
por aBitPastOne 27.05.2014 / 03:58

2 respostas

1

As regras a seguir devem funcionar (não testadas):

iptables -t nat -A PREROUTING -i wlan0ap -p tcp --dport 80 -j DNAT  --to-destination  192.168.1.99:80
iptables -t nat -A PREROUTING -i wlan0ap -p tcp --dport 430 -j DNAT --to-destination  192.168.1.99:80
iptables -t nat -A POSTROUTING -j MASQUERADE
    
por 27.05.2014 / 10:48
0

você pode usar uma opção multiport. Para redigir todo o tráfego na porta 80 , 443 você pode usar:

iptables -t nat -A PREROUTING -i wlan0ap -p tcp -m multiport 80,443 -j DNAT --to-destination 192.168.1.99:80

Se algum usuário usar o portal para fazer login,

iptables -t nat -A PREROUTING -i wlan0ap -s ip_user -p tcp -ACCEPT

Nosso substitua -s Ip -mac --source mac MAC

    
por 24.03.2016 / 16:57