Enviado em 09/06/2015 - 12:37h
Tenho seguinte cenario:Enviado em 12/08/2015 - 16:53h
Boa tarde.#!/bin/bash # DEFINICAO DOS GATEWAYS GW_LINK1=177.185.59.62 GW_LINK2=189.112.98.198 # PLACAS DE REDE ETH_LINK1=eth2 ETH_LINK2=eth0 function start() { ip route flush cache ip rule add fwmark 1 prio 20 table link1 ip rule add fwmark 2 prio 21 table link2 ip route add default via $GW_LINK1 dev $ETH_LINK1 table link1 ip route add default via $GW_LINK2 dev $ETH_LINK2 table link2 route add default gw $GW_LINK1 ip route flush cached echo "Tabela de roteamento criada [OK]" } function stop() { ip route flush cache ip rule del fwmark 1 ip rule del fwmark 2 ip route del default via $GW_LINK1 dev $ETH_LINK1 table link1 ip route del default via $GW_LINK2 dev $ETH_LINK2 table link2 route del default echo "Limpeza da tabela de roteamento concluida [OK]" } case $1 in 'start') start; exit ;; 'stop') stop; exit ;; 'restart') stop; start; exit ;; *) echo "Utilizar: rotas stop|start|restart"; exit ;; esac
#!/bin/bash # Carregando Rotas /etc/init.d/rotas $1 # modprobe MOD=$(which modprobe) # iptables IPT=$(which iptables) # Interfaces de Rede I_LINK1="eth2" I_LINK2="eth0" I_LAN="eth1" function stop() { # Limpa a tabela mangle $IPT -t mangle -F $IPT -t mangle -X $IPT -F $IPT -t nat -F $IPT -X $IPT -t filter -F echo "Firewall parado [OK]" } function start() { ### Módulos ### for MODULOS in ip_conntrack ip_tables ip_conntrack_ftp ip_nat_ftp ipt_string do modprobe $MODULOS done echo 1 > /proc/sys/net/ipv4/ip_forward ### Políticas ### $IPT -P INPUT DROP $IPT -P FORWARD DROP $IPT -P OUTPUT ACCEPT ### INPUT ### $IPT -A INPUT -i lo -j ACCEPT $IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT $IPT -A INPUT -i $I_LAN -s 192.168.0.0/24 -p icmp --icmp-type 8 -j ACCEPT $IPT -A INPUT -i $I_LAN -s 192.168.0.0/24 -p tcp -m multiport --dport 80,3128 -j ACCEPT $IPT -A INPUT -i $I_LAN -s 192.168.0.20/32 -p tcp -m multiport --dport 1322,3000,10000 -j ACCEPT $IPT -A INPUT -i $I_LAN -s 192.168.0.21/32 -p tcp -m multiport --dport 1322,3000,10000 -j ACCEPT $IPT -A INPUT -i $I_LINK1 -s 0/0 -p tcp --dport 8383 -j ACCEPT # Protecao contra port scanners ocultos $IPT -A INPUT -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT $IPT -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG --log-prefix "Nmap-Xmas Scan: " --log-tcp-options --log-ip-options $IPT -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j LOG --log-prefix "Nmap Null Scan: " --log-tcp-options --log-ip-options $IPT -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "Syn/Rst Scan: " --log-tcp-options --log-ip-options $IPT -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG --log-prefix "Syn/Fin Scan: " --log-tcp-options --log-ip-options $IPT -t mangle -A PREROUTING -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP $IPT -t mangle -A PREROUTING -p tcp --tcp-flags ALL NONE -j DROP $IPT -t mangle -A PREROUTING -p tcp --tcp-flags SYN,RST SYN,RST -j DROP $IPT -t mangle -A PREROUTING -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP # Protecoes contra ataques $IPT -A INPUT -m state --state INVALID -j DROP # Gerando LOG's de Backdoors $IPT -A INPUT -p tcp --dport 21 -j LOG --log-prefix "Servico de FTP: " $IPT -A INPUT -p tcp --dport 23 -j LOG --log-prefix "Servico de TELNET: " $IPT -A INPUT -p tcp --dport 5042 -j LOG --log-prefix "Wincrash: " $IPT -A INPUT -p tcp --dport 12345 -j LOG --log-prefix "BackOrifice: " $IPT -A INPUT -p tcp --dport 12346 -j LOG --log-prefix "BackOrifice: " $IPT -A INPUT -p tcp --dport 22 -j LOG --log-prefix "SSH-Log: " $IPT -A INPUT -p icmp --icmp-type any -j LOG --log-prefix "PING: " ### FORWARD ### # Dropando pacotes NEW sem syn $IPT -t filter -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-level 6 --log-prefix "FIREWALL: NEW sem syn: " $IPT -t filter -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP $IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT $IPT -A FORWARD -i $I_LAN -s 192.168.0.0/24 -o $I_LINK1 -p tcp --dport 443 -j ACCEPT $IPT -A FORWARD -i $I_LAN -s 192.168.0.0/24 -o $I_LINK1 -p udp --dport 53 -j ACCEPT # Office 365, Microsoft Online, Exchange for ips_ms in `cat /root/scripts/firewall/microsoft.txt`; do $IPT -A FORWARD -i $I_LAN -o $I_LINK1 -s 192.168.0.0/24 -d $ips_ms -j ACCEPT; done # LIBERANDO FORWARD DA TUN0 PARA REDE MASK /25 - VPN $IPT -A FORWARD -i tun0 -o $I_LAN -s 172.16.100.4/32 -d 192.168.0.0/24 -m state --state NEW -j ACCEPT $IPT -A FORWARD -i tun0 -o $I_LAN -s 172.16.100.5/32 -d 192.168.0.0/24 -m state --state NEW -j ACCEPT $IPT -A FORWARD -i tun0 -o $I_LAN -s 172.16.100.6/32 -d 192.168.0.0/24 -m state --state NEW -j ACCEPT $IPT -A FORWARD -i tun0 -o $I_LAN -s 172.16.100.7/32 -d 192.168.0.0/24 -m state --state NEW -j ACCEPT $IPT -A FORWARD -i tun0 -o $I_LAN -s 172.16.100.8/32 -d 192.168.0.0/24 -m state --state NEW -j ACCEPT # IPs livres (NAT) $IPT -A FORWARD -i $I_LAN -o $I_LINK2 -s "192.168.0.2/32" -d 0/0 -j ACCEPT $IPT -A FORWARD -i $I_LAN -o $I_LINK1 -s "192.168.0.5/32" -d 0/0 -j ACCEPT $IPT -A FORWARD -i $I_LAN -o $I_LINK1 -s "192.168.0.3/32" -d 0/0 -j ACCEPT $IPT -A FORWARD -i $I_LAN -o $I_LINK1 -s "192.168.0.4/32" -d 0/0 -j ACCEPT # Portais Fiscais $IPT -A FORWARD -i $I_LAN -o $I_LINK1 -s "192.168.0.0/24" -d portaltributario.com.br -j ACCEPT $IPT -A FORWARD -i $I_LAN -o $I_LINK1 -s "192.168.0.0/24" -d robertodiasduarte.com.br -j ACCEPT ### Acesso SEFAZ ### SEFAZ=201.55.62.86 $IPT -A FORWARD -i $I_LAN -s 192.168.0.0/24 -d $SEFAZ -p tcp --dport 443 -j ACCEPT ### Acesso SERPRO (At. Tab. SPED Contrib. e Entrega SPED) ### SERPRO=200.198.239.0/24 $IPT -A FORWARD -i $I_LAN -s 192.168.0.0/24 -d $SERPRO -p tcp --dport 80 -j ACCEPT $IPT -A FORWARD -i $I_LAN -s 192.168.0.0/24 -d $SERPRO -p tcp --dport 3456 -j ACCEPT # Liberando o TeamViewer $IPT -t filter -A FORWARD -i $I_LAN -o $I_LINK1 -s 192.168.0.0/24 -p tcp --dport 5938 -j ACCEPT $IPT -t filter -A FORWARD -i $I_LINK1 -o $I_LAN -p tcp --sport 5938 -j ACCEPT # FORWARD via MAC ADDRESS /root/scripts/firewall/macs_livres.sh # Distribuindo os links para os Clientes $IPT -t mangle -A PREROUTING -s 192.168.0.1/32 -i $I_LAN -j MARK --set-mark 1 $IPT -t mangle -A PREROUTING -s 192.168.0.2/32 -i $I_LAN -j MARK --set-mark 2 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.3-192.168.0.23 -i $I_LAN -j MARK --set-mark 1 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.24-192.168.0.28 -i $I_LAN -j MARK --set-mark 2 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.29-192.168.0.30 -i $I_LAN -j MARK --set-mark 1 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.31-192.168.0.34 -i $I_LAN -j MARK --set-mark 2 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.35-192.168.0.48 -i $I_LAN -j MARK --set-mark 1 $IPT -t mangle -A PREROUTING -s 192.168.0.49/32 -i $I_LAN -j MARK --set-mark 2 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.50-192.168.0.75 -i $I_LAN -j MARK --set-mark 1 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.76-192.168.0.77 -i $I_LAN -j MARK --set-mark 2 $IPT -t mangle -A PREROUTING -m iprange --src-range 192.168.0.78-192.168.0.254 -i $I_LAN -j MARK --set-mark 1 ### NAT ### $IPT -t nat -A POSTROUTING -s 192.168.0.1/32 -o $I_LINK1 -j MASQUERADE $IPT -t nat -A POSTROUTING -s 192.168.0.2/32 -o $I_LINK2 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.3-192.168.0.23 -o $I_LINK1 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.24-192.168.0.28 -o $I_LINK2 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.29-192.168.0.30 -o $I_LINK1 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.31-192.168.0.34 -o $I_LINK2 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.35-192.168.0.48 -o $I_LINK1 -j MASQUERADE $IPT -t nat -A POSTROUTING -s 192.168.0.49/32 -o $I_LINK2 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.50-192.168.0.75 -o $I_LINK1 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.76-192.168.0.77 -o $I_LINK2 -j MASQUERADE $IPT -t nat -A POSTROUTING -m iprange --src-range 192.168.0.78-192.168.0.254 -o $I_LINK1 -j MASQUERADE $IPT -t nat -A POSTROUTING -s 172.16.100.0/25 -o tun0 -j MASQUERADE # OPENVPN $IPT -A INPUT -p udp --dport 1194 -j ACCEPT $IPT -A INPUT -i tun0 -s 172.16.100.5/32 -p icmp --icmp-type 8 -j ACCEPT $IPT -A INPUT -i tun0 -s 172.16.100.5/32 -p tcp -m multiport --dport 1322,80,3128,10000 -j ACCEPT echo "Firewall iniciado [OK]" } case $1 in 'start') start; exit ;; 'stop') stop; exit ;; 'restart') stop; start; exit ;; *) echo "Utilizar: firewall.sh stop|start|restart"; exit ;; esac
Enviado em 13/08/2015 - 11:18h
Bom dia.#!/bin/bash # DEFINICAO DOS GATEWAYS GW_LINK1=177.185.59.62 GW_LINK2=189.112.98.198 GW_VPN=172.16.100.1 # PLACAS DE REDE ETH_LINK1=eth2 ETH_LINK2=eth0 ETH_VPN=tun0 function start() { ip route flush cache ip rule add fwmark 1 prio 20 table link1 ip rule add fwmark 2 prio 21 table link2 ip route add default via $GW_LINK1 dev $ETH_LINK1 table link1 ip route add default via $GW_LINK2 dev $ETH_LINK2 table link2 ip route add 172.16.100.0/24 via $GW_VPN dev $ETH_VPN table link1 ip route add 172.16.100.0/24 via $GW_VPN dev $ETH_VPN table link2 route add default gw $GW_LINK1 ip route flush cached echo "Tabela de roteamento criada [OK]" } function stop() { ip route flush cache ip rule del fwmark 1 ip rule del fwmark 2 ip route del default via $GW_LINK1 dev $ETH_LINK1 table link1 ip route del default via $GW_LINK2 dev $ETH_LINK2 table link2 ip route del 172.16.100.0/24 via $GW_VPN dev $ETH_VPN table link1 ip route del 172.16.100.0/24 via $GW_VPN dev $ETH_VPN table link2 route del default echo "Limpeza da tabela de roteamento concluida [OK]" } case $1 in 'start') start; exit ;; 'stop') stop; exit ;; 'restart') stop; start; exit ;; *) echo "Utilizar: rotas stop|start|restart"; exit ;; esac
Enviado em 19/10/2015 - 13:38h
não deu certo pra mim, vi q vc usa uma tabela de roteamento diferente da minha, tipo, vc rotea individualmente os links e cria uma rota default para o link q roda a VPN.Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Como desativar notificações de jogos de azar (1)
Jogos baixados na Central de Aplicativos mas que não abrem (1)