Boa tarde pessoal, estou tentando adicionar este script no Fedora pra poder alternar entre um gateway de internet e outro usando um comando apenas no console, mas não estou conseguindo colocá-lo em prática. Segue o que tenho em mãos, que foi baseado em outro que peguei na internet... Obrigado por qualquer palpite! Abraços.
Código :#! /bin/bash # advrouting Alterna entre links com operadoras # # chkconfig: 2345 90 60 # description: Com este script voce pode alternar entre \ # links de varias operadoras diferentes. # processname: advrouting # config: /etc/advrouting # pidfile: /var/run/advrouting.pid # roteamento avancado com IPRoute2. # FUNCOES brt(){ for I in $BLOCO_BrT $BLOCO_RedeInterna ; do /sbin/ip rule del from $I table 20 /sbin/ip rule del from $I table 22 /sbin/ip rule add from $I table 20 done } cte(){ for I in $BLOCO_RedeInterna ; do /sbin/ip rule del from $I table 20 /sbin/ip rule add from $I table 22 done } # CONSTANTES # Gateways e Redes dos Roteadores dos Links GW_BrT="10.1.1.1" # Link ADSL da BrT GW_CTE="192.168.100.1" # Link da CTE GW_RedeInterna="192.168.12.1" # Rede interna BLOCO_BrT="10.1.1.0/24" BLOCO_CTE="192.168.100.0/30" BLOCO_RedeInterna="192.168.12.0/24" IF_BrT="eth2" IF_CTE="eth0" IF_RedeInterna="eth1" for I in "del" "add" ; do /sbin/ip route $I to $BLOCO_BrT via $GW_BrT table local /sbin/ip route $I to $BLOCO_CTE via $GW_CTE table local /sbin/ip route $I to $BLOCO_RedeInterna via $GW_RedeInterna table local done # GWs default de cada link de cada operadora. # table 20 = Brasil Telecom # table 22 = CTE Internet # GW default table 20 - Brasil Telecom /sbin/ip route del default via $GW_BrT dev $IF_BrT table 20 /sbin/ip route add default via $GW_BrT dev $IF_BrT table 20 # GW default table 22 - CTE Internet /sbin/ip route del default via $GW_CTE dev $IF_CTE table 22 /sbin/ip route add default via $GW_CTE dev $IF_CTE table 22 # Regras (rules) # blocos for I in $BLOCO_CTE ; do /sbin/ip rule del from $I table 22 /sbin/ip rule add from $I table 22 done # blocos envolvidos diretamente com os roteadores (declarados no inicio do script) for I in "del" "add" ; do /sbin/ip rule $I from $BLOCO_BrT table 20 /sbin/ip rule $I from $BLOCO_CTE table 22 done ###### case "$1" in 'cte') cte ;; 'brt') brt ;; *) echo "O uso correto é: $0 cte|brt !" esac