Roteamento Iptables Link GVT / Link DEDICADO GVT

Iniciado por ronylsxd, 06 de Junho de 2013, 15:15

tópico anterior - próximo tópico

ronylsxd


Boa Dia pessoal to com o seguinte problema bem interessante, na verdade e um grande desafio para mim vou explicar um pouco sobre o ambiente.

E uma faculdade de medicina que tem sistemas acadêmicos que são acessados de fora pela internet.

Temos um servidor Linux Ubuntu Server que tem 1 Link Dedicado GVT e 1 Link GVT 35MB e Duas LANs 192.168.1.0 e 192.168.4.0 que comunicam entre si, preciso de um firewall iptables que faça o seguinte redirecione 1 ipquente gvt para o ip do servidor com sistema acadêmico e redirecione outro ipquente para outro server com sistema de biblioteca, lembrando que a conexão tem que funcionar interna e externa e entrar e sair pela mesmo link, navegação para as duas redes 4.0 e 1.0 pelo link GVT 35mb, ja fiz diversas configurações mais a tabela de roteamento fica maluca e quando funciona o acesso externo a internet não funciona e quando funciona internet o acesso externo não funciona, então pessoal essa e a minha situação quem poder me ajudar a desenvolver um firewall para resolver isso fico muito grato e sei que vai contribuir muito para o Fórum.

Arthur Bernardes

Poderia fazer um diagrama para entendermos melhor o cenário?

Parece muito interessante.

zekkerj

Desde que o Kurumin morreu, o (K)Ubuntu é a minha distribuição de escolha, e sempre que posso indico seu uso.

Mas... tem horas em que uma solução proprietária é mais indicada. Esta é uma delas. Procure um roteador dedicado, de preferência que tenha duas entradas e seja capaz de trabalhar com duas conexões, fazendo balanceamento de carga.

Essa solução vai te dar mais desempenho e menos consumo de energia.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

ronylsxd


ronylsxd

O meu Firewall ta assim o que mais e preciso fazer?

####Firewall Linux Debian R5 "INFORTEC SERVIÇOS EM INFORMATICA"####
####Data de auteração: 03/02/2011

# Variaveis
INT_LAN=em1
INT_LAN2=em2
INT_WAN=p1p2
INT_DED=p1p3
IP_LAN=`ifconfig $INT_LAN | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
IP_LAN2=`ifconfig $INT_LAN2 | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
IP_WAN=`ifconfig $INT_WAN | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
IP_DED=`ifconfig $INT_DED | grep addr: | awk '{ print $2 }' | cut -d: -f 2`
REDE_LAN=192.168.1.0/24
REDE_LAN2=192.168.4.0/24
HOST_FW=192.168.1.1
PORTA_PROXY=8080

case "$1" in
   stop)
        # Limpa a tabela do firewall
        echo -n "Finalizando o firewall"
        iptables -F
        iptables -X
        iptables -t nat -F
        iptables -t nat -X
        iptables -P INPUT ACCEPT
        iptables -P OUTPUT ACCEPT
        iptables -P FORWARD ACCEPT
        echo "                                                          [OK]"
    ;;
   status)
        echo $"Tabela: padrao"
        iptables --list
        echo $"Tabela: nat"
        iptables -t nat --list
    ;;
   restart|reload)
      $0 stop
      $0 start
      ;;
   start)

        # Limpa a tabela do firewall
        echo -n "Excluindo regras de firewal existentes"
        iptables -F
        iptables -X
        iptables -t nat -F
        iptables -t nat -X
        echo "                                          [OK]"

        # Carregando modulos basicos
        echo -n "Carregando modulos necessarios"
        /sbin/modprobe ip_tables
        /sbin/modprobe iptable_filter
        /sbin/modprobe ip_conntrack
        /sbin/modprobe ip_conntrack_ftp
        /sbin/modprobe iptable_nat
        /sbin/modprobe ip_nat_ftp
        /sbin/modprobe ipt_LOG
        /sbin/modprobe ipt_state
        /sbin/modprobe ipt_MASQUERADE
        echo "                                                  [OK]"

        # Politica padrao do firewall.
        # Nega entrada e encaminhamento e aceita saida.
        echo -n "Definindo politica padrao do firewall"
        iptables -P INPUT DROP
        iptables -P FORWARD DROP
        iptables -P OUTPUT ACCEPT
        echo "                                           [OK]"

        # Regras que se aplicam ao firewall
        echo -n "Liberando navegacao para o firewall"
        iptables -A INPUT -i lo -j ACCEPT
        #iptables -A INPUT -m state --state INVALID -j DROP
        iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
        echo "                                             [OK]"

        # Bloqueio de MSN GERAL
        #echo -n  "Bloqueando MSN"
        #iptables -t filter -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j DROP
        #echo  "                                                                  [OK]"

        # DesBloqueio de MSN por IP
        #echo -n  "DesBloqueando MSN Por IP"
        #iptables -t filter -I FORWARD -s 192.168.1.19 -p tcp --dport 1863 -j ACCEPT
        #echo  "                                                        [OK]"

        # Regras que se aplicam a rede
        echo -n "Liberando navegacao para a rede local ($REDE_LAN)"
        iptables -A FORWARD -i $INT_LAN -s $REDE_LAN -j ACCEPT
   iptables -A FORWARD -i $INT_LAN2 -s $REDE_LAN2 -j ACCEPT
        iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
        iptables -t nat -A POSTROUTING -o $INT_WAN -j MASQUERADE
   iptables -t nat -A POSTROUTING -o $INT_DED -j MASQUERADE
        echo 1 > /proc/sys/net/ipv4/ip_forward
        echo "                          [OK]"

        # Regras que se aplicam a servicos em execucao no firewall
        # Servico de SSH
        echo -n "Liberando conexao via SSH - Publico"
        iptables -A INPUT -p tcp --dport 1607 -j LOG --log-prefix "Acesso via SSH "
        iptables -A INPUT -p tcp --dport 1607 -j ACCEPT
        echo "                                             [OK]"

        # Servidor DNS
        echo -n "Liberando acesso ao DNS - Rede Local"
        iptables -A INPUT -i $INT_LAN -s $REDE_LAN -p udp --dport 53 -j ACCEPT
        echo "                                            [OK]"

        # Bloqueio P2P
        echo -n "Bloqueando protocolo P2P"
        iptables -A FORWARD -d 0/0 -p tcp --dport 1214 -j REJECT
        iptables -A FORWARD -d 0/0 -p udp --dport 1214 -j REJECT
        iptables -A FORWARD -d 200.176.49.107 -p tcp --dport 1503 -j REJECT
        iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
        iptables -A FORWARD -d 64.245.58.0/24 -j REJECT
        iptables -A FORWARD -d 64.245.59.0/24 -j REJECT
        iptables -A FORWARD -d 64.245.58.0/23 -j REJECT
        iptables -A FORWARD -d 64.124.41.0/24 -j REJECT
        iptables -A FORWARD -d 216.35.208.0/24 -j REJECT
        iptables -A FORWARD -p tcp --dport 6346 -j REJECT
        iptables -A FORWARD -d 209.61.186.0/24 -j REJECT
        iptables -A FORWARD -d 64.49.201.0/24 -j REJECT
        iptables -A FORWARD -d 209.25.178.0/24 -j REJECT
        echo "                                                        [OK]

        # Proxy
        echo -n "Liberando acesso ao proxy"
        iptables -A INPUT -i $INT_LAN -s $REDE_LAN -p tcp --dport $PORTA_PROXY -j ACCEPT
        echo "                                                       [OK]"

        # Proxy transparente
        echo -n "Ativando proxy transparente"
        iptables -t nat -A PREROUTING -s 192.168.0.0/16 -p tcp -d ! 200.201.0.0/16 --dport 80 -j REDIRECT --to-port 8080
        echo "                                                     [OK]"

        # Servidor de Correio
        #echo -n "Liberando acesso ao servico de correio - SMTP/POP3"
        #iptables -A INPUT -p tcp --dport 25 -j ACCEPT
        #iptables -A INPUT -p tcp --dport 110 -j ACCEPT
        #echo "                              [OK]"

        # Servidor DHCP
        echo -n "Liberando acesso ao DHCP - Rede Local"
        iptables -A INPUT -i $INT_LAN -p udp --dport 67 -j ACCEPT
        iptables -A INPUT -i $INT_LAN -p udp --dport 68 -j ACCEPT
        echo "                                           [OK]"

        # Servidor WEB
        echo -n "Liberando acesso ao servidor web - Rede Local"
        iptables -A INPUT -p tcp --dport 80 -j ACCEPT
        echo "                                   [OK]"

        # Webmin
        echo -n "Liberando acesso ao Webmin - Rede Local"
        iptables -A INPUT -i $INT_LAN -s $REDE_LAN -p tcp --dport 10000 -j ACCEPT
        echo "                                         [OK]"

        # Regas que se aplicam a redirecionamento de servico
        # Servidor PPTP
        echo -n "Redirecionando servico PPTP para o host $HOST_FW"
        iptables -A FORWARD -p tcp --dport 1723 -j ACCEPT
        iptables -A FORWARD -p 47 -j ACCEPT
        iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 1723:1723 -j DNAT --to 192.168.1.1
        iptables -t nat -A PREROUTING -i $INT_WAN -p 47 -j DNAT --to 192.168.1.1
        echo "                             [OK]"

        #Open VPN
        #echo -n "Liberando trafego para OpenVpn"
        #iptables -A INPUT -p udp --dport 5000 -j ACCEPT
        #iptables -A INPUT -i tun+ -j ACCEPT
        #iptables -A FORWARD -i tun+ -j ACCEPT
        #echo "                                                  [OK]"

        # Terminal Server
        echo -n "Redirecionando Terminal service para o host $HOST_FW"
        iptables -A FORWARD -p tcp --dport 3389 -j ACCEPT
        iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 3389:3389 -j DNAT --to 192.168.1.1
        echo "                         [OK]"

        # RM
        echo -n "Redirecionando RM"
   iptables -t nat -A PREROUTING -p tcp -d 177.43.103.202 --dport 80 -j DNAT --to 192.168.1.254:80
        echo "                         [OK]"

        # Biblio
        echo -n "Redirecionando Biblio"
   iptables -t nat -A PREROUTING -p tcp -d 177.43.103.203 --dport 80 -j DNAT --to 192.168.1.1:80
        echo "                         [OK]"

        # Servico de Ftp
        echo -n "Redirecionando Servico FTP para o host INFSRV001 -Infortec"
        iptables -A INPUT -p tcp --dport 21 -j ACCEPT
        #iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 21:21 -j DNAT --to 192.168.1.1
        echo "                      [OK]"


        # Servico de Ftp
        echo -n "Redirecionando Servico FTP para o host INFSRV001 -Infortec"
        iptables -A INPUT -p tcp --dport 20 -j ACCEPT
        iptables -t nat -A PREROUTING -i $INT_WAN -p tcp --dport 20:20 -j DNAT --to 192.168.1.1
        echo "                      [OK]"


    ;;
    *)
        echo "Sintaxe: firewall (start|stop|restart|status)"
        exit 1
esac

exit 0