Análise Script Iptables e DhCP

1. Análise Script Iptables e DhCP

Thiago Trennepohl
olikoloko

(usa Ubuntu)

Enviado em 28/05/2014 - 15:58h

Olá pessoal :D

Vamos aos problemas hahahaha, brincadeira.
Gostaria se possível alguém sanar algumas dúvidas minhas sobre iptables, segue o cenário aqui onde trabalho temos dois links de internet:

- 1 link de 40 mb que vem por fibra ate o router e do router pro switch e do switch para a lan

- 1 Link de 20mb que vai direto a um router wireless

eis o que quero fazer:

ligar estes dois routers em uma maquina e esta maquina servirá como gateway e firewall que distribuirá rede para a lan.
o que eu quero com o firewall, quero que ele direcione os pacotes RDP e PCoIP para o link de 40mb e o resto irá para o link de 20mb.

bom instalei um servidor dhcp nesta maquina que a principio está compartilhando a internet pela eth0, com o seguinte comando do script:

iniciar(){
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
}

com este comando acima ele compartilha a rede ou ele faz a mascara de saída? pois tenho comandos parecidos no meu script de marcação dos pacotes
e se for mesmo o comparilhamento da rede do eth1 meu iptables será capaz de redirecionar os pacotes RDP e PCoIP para a eth2 que seria o link de 40mb?


esse dhcp está distribuindo o ip 192.168.0.1/24( nao testei realmente ainda)
mas meu servidor tem 3 interfaces de rede, 2 pcis e 1 onboard.
e meu script de marcar os pacotes com RDP e PCoIP está assim:


#!/bin/sh

# Interface da Intranet
IF_LAN='eth0'

# Interfaces ADSL
IF_LINKNET='eth1'
IF_LINKFLIN='eth2'

# Gateways dos ADSL (IPs dos roteadores)
GW_LINKNET='192.168.1.1'
GW_LINKFLIN='192.168.150.1'

# Mascarar saídas para os dois ADSL
------------------------------------------------------------
iptables -t nat -A POSTROUTING -o $IF_LINKNET -j MASQUERADE
iptables -t nat -A POSTROUTING -o $IF_LINKFLIN -j MASQUERADE

# Marca com "2" os pacotes que saem pelas portas 25 (SMTP) e 110 (POP) RDP(3389) PCoIP(
------------------------------------------------------------
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 25 -j MARK --set-mark 2 #Smtp
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 3389 -j MARK --set-mark 2 #RDP TCP
iptables -t mangle -A PREROUTING -i $IF_LAN -p udp --dport 3389 -j MARK --set-mark 2 #RDP UDP
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 110 -j MARK --set-mark 2 #POP TCP
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 50002 -j MARK --set-mark 2 #PCoIP TCP
iptables -t mangle -A PREROUTING -i $IF_LAN -p tcp --dport 4172 -j MARK --set-mark 2 #PcoIP TCP
iptables -t mangle -A PREROUTING -i $IF_LAN -p udp --dport 50002 -j MARK --set-mark 2 #PCoIP UDP
iptables -t mangle -A PREROUTING -i $IF_LAN -p udp --dport 4172 -j MARK --set-mark 2 #PCoIP UDP
iptables -t mangle -A OUTPUT -p tcp --dport 25 -j MARK --set-mark 2 #SMTP TCP
iptables -t mangle -A OUTPUT -p tcp --dport 3389 -j MARK --set-mark 2 #RDP TCP
iptables -t mangle -A OUTPUT -p tcp --dport 110 -j MARK --set-mark 2 #POP TCP
iptables -t mangle -A OUTPUT -p udp --dport 3389 -j MARK --set-mark 2 #RDP UDP
iptables -t mangle -A OUTPUT -p udp --dport 50002 -j MARK --set-mark 2 #PCoIP UDP
iptables -t mangle -A OUTPUT -p udp --dport 4172 -j MARK --set-mark 2 #PCoIP UDP
iptables -t mangle -A OUTPUT -p tcp --dport 50002 -j MARK --set-mark 2 #PcoIP tcp
iptables -t mangle -A OUTPUT -p tcp --dport 4172 -j MARK --set-mark 2 #PCoIP TCP

# Joga serviços de e-mail (pacotes marcados com 2) para o LINKFLIN
------------------------------------------------------------
ip rule add fwmark 2 table LINKFLIN prio 20
ip route add default via $GW_LINKFLIN dev $IF_LINKFLIN table 20

# Atualiza tabela de roteamento
# ------------------------------------------------------------
ip route flush cache



a dúvida é o que fazer agora??


sou novato em administrção de redes e ficaria muito feliz em ter ajuda me explicando os scripts :))

desde já agradeço a todos a ajuda


  


2. Re: Análise Script Iptables e DhCP

Buckminster
Buckminster

(usa Debian)

Enviado em 28/05/2014 - 18:31h

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Esssa regra acima diz para compartilhar tudo da eth1 com todas as outras placas de rede que tiver no servidor, não importando quantas tenha.

iptables -t nat -A POSTROUTING -o $IF_LINKNET -j MASQUERADE
iptables -t nat -A POSTROUTING -o $IF_LINKFLIN -j MASQUERADE

Essas duas regras acima estão compartilhando tudo da eth1 e da eth2 com a eth0.

Agora que tu já fez o script, tu colocou ele dentro de /etc/init.d e deu permissão de execução para ele (chmod +x /etc/init.d/nome_do_script) e colocou a linha

/etc/init.d/nome_do_script start

no arquivo /etc/rc.local antes de exit 0 para o script iniciar junto com o sistema?


3. Re: Análise Script Iptables e DhCP

Thiago Trennepohl
olikoloko

(usa Ubuntu)

Enviado em 29/05/2014 - 09:02h

Sim sim Buckminster já botei ele pra rodar quando o sistema liga, era essa duvida mesmo, pois peguei dois artigos diferentes então nao preciso compartilhar minha eth1 duas vezes já que no script da marcação dos pacotes ele já está compartilhando.


e mais uma vez Buckinster salvando o dia :)


a intenção é contribuir para o fórum com um artigo ou um "how to" quando o sevidor estiver rodando bonitinho :)


4. Re: Análise Script Iptables e DhCP

Buckminster
Buckminster

(usa Debian)

Enviado em 29/05/2014 - 13:25h

olikoloko escreveu:

Sim sim Buckminster já botei ele pra rodar quando o sistema liga, era essa duvida mesmo, pois peguei dois artigos diferentes então nao preciso compartilhar minha eth1 duas vezes já que no script da marcação dos pacotes ele já está compartilhando.


e mais uma vez Buckinster salvando o dia :)


a intenção é contribuir para o fórum com um artigo ou um "how to" quando o sevidor estiver rodando bonitinho :)


Não se faz necessário colocar duas vezes.

E apoio a idéia do artigo quando teu servidor estiver funcionando "redondo".






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts