Estou tentando configurar um firewall transparente usando ArchLinux.
Minha configuração se parece com isto:
(ISP, IP: 10.90.10.254) \ \ \ (eth0-> ip: 10.90.10.1 gateway: 10.90.10.254) +-----------+ | | | PC | |(as server)| +-----------+ \ (eth1-> ip: 10.90.10.100) \ \ (10.90.10.101)\ | (wireless-> ip-range: 10.90.10.102-) +-------+ |Router | +-------+
Meu roteador não tem capacidade de firewall, portanto, preciso instalar um firewall entre o roteador e meu ISP.
Comentários
- Máscaras de rede? Você deseja que a eth0 e a eth1 no " PC " tenham uma ponte?
- Incomum ter o " servidor " na conexão do ISP e o " roteador " atrás do servidor …
- @HaukeLaging sim, é ' incomum, mas preciso aplicar algumas regras de firewall e controle de tráfego, e o roteador não ' t tem essas funcionalidades
- Quando você diz " roteador " , você realmente quer dizer " ponto de acesso sem fio "? Com certeza se parece com isso …
- @derobert sim, quero dizer um roteador mesmo, um Dlink … configurei a rede com resposta de Cha0s e agora está funcionando como o esperado!
Resposta
Para fazer isso, você precisa colocar eth0 e eth1 em modo bridge no PC e dar 1 ip à bridge interface (não no eths individual)
Aqui estão os princípios básicos sobre a ponte no linux, para começar http://www.tldp.org/HOWTO/BRIDGE-STP-HOWTO/index.html
Dependendo da sua distribuição, pode haver uma maneira mais rápida / melhor de fazer a ponte.
Agora, o intervalo de IP sem fio que você mencionou não pode ser especificado por meio de alguma configuração . Depende de você quais IPs você alocará e onde.
Talvez você possa controlar isso via DHCP, mas depende de sua configuração e necessidades gerais.
Comentários
- Ok, eu ' vou ler … Eu uso o ArchLinux e depois ' ll faça alguma pesquisa no ArchWiki. Obrigado pela sua resposta!
- Eu configurei a ponte usando netctl (Archlinux default ' s), Depois disso eu configurei o roteador (D-Link DI-524) no modo bridge também, então agora minha rede está funcionando bem, obrigado novamente!
- Observe que com uma configuração em ponte, suas regras de firewall de iptables normais não se aplicarão. Você pode ter alguma sorte com
ebtables
se quiser fazer firewall, mas eu ' d recomendo uma configuração roteada.
Resposta
Primeiro você deve habilitar a tradução do endereço de rede:
Insira esta linha
net.ipv4.ip_forward = 1
para
/etc/sysctl.conf
(após a linha inserida, o efeito ocorre imediatamente) e adicionando regra de firewall:
iptables -t NAT -A POSTROUTING -! o lo -j MASQUERADE
E agora a rede sem fio pode enviar pacotes do PC do servidor para o ISP
Mais uma sugestão: desabilite o acesso “all” ao servidor e habilite apenas o que você realmente precisa:
iptables -P INPUT DROP
iptables -A INPUT -m estado –state RELACIONADO, ESTABELECIDO -j ACEITAR
iptables -A INPUT -i eth1 -m estado –state NEW -j ACCPET
esta configuração desabilita o fluxo de pacotes padrão “todos permitidos”, é desabilitado para conectar-se ao ISP (e WAN) para portas de servidor, permite conexões externas da rede sem fio.
Se você precisar abrir portas de servidor no firewall:
iptables – A INPUT -p tcp -m tcp –dport 22 -j ACEITAR
substitua tcp por udp se necessário, e os intervalos de portas podem adicione com from: to pattern.
se algo estiver errado e feche você mesmo, você pode redefinir as regras de firewall:
iptables -F
A maneira mais fácil, se você instalar um webmin em seu sistema de servidor, ele terá um ótimo configurador de firewall GUI. Mas lembre-se sempre do comando “iptables -F” se você se fechar e não conseguir acessar o webmin
Comentários
- I ' Já tentamos, mas não ' t funcionando, eth0: 10.90.10.1/24; eth1: 10.90.10.100/24; roteador: 10.90.10.101/24;
% sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
% sudo iptables -t nat -L -n [...] Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
PS: Eu mudei sua regra de iptables para# iptables -t nat -A POSTROUTING ! -o lo -j MASQUERADE
Resposta
Isso deve ser possível (da perspectiva do servidor) se você definir eth0 (e talvez eth1, também) como uma interface ponto a ponto (consulte man ip-address
, peer
).
Na minha opinião, a seleção do endereço é uma má ideia em todos os aspectos. As redes da eth1 e da WLAN não devem se sobrepor.Isso não é possível se a eth1 não for uma interface ponto a ponto e a WLAN começar em 102.
Pior ainda no roteador: seu IP LAN faz parte da rede WLAN, então teria que ser p2p também (pode ser configurado no roteador?).