Eu tenho um script Linux que me permite rotear algum tráfego através de uma interface VPN e outro tráfego (de IP diferente) através de outra interface.
Este é o meu script:
echo "ip route del default via 192.168.120.10 dev ppp0;" >> /tmp/firewallscript.sh
echo "ip route add default via 192.168.1.254 dev eth0;" >> /tmp/firewallscript.sh
echo "ip route add table 55 default via 192.168.120.10 dev ppp0;" >> /tmp/firewallscript.sh
echo "iptables -t mangle -I PREROUTING 1 -s 192.168.1.40 -j MARK --set-mark 55;" >> /tmp/firewallscript.sh
echo "iptables -t mangle -I PREROUTING 1 -s 192.168.1.41 -j MARK --set-mark 55;" >> /tmp/firewallscript.sh
echo "iptables -t mangle -I PREROUTING 1 -s 192.168.1.42 -j MARK --set-mark 55;" >> /tmp/firewallscript.sh
echo "ip rule add fwmark 55 table 55;" >> /tmp/firewallscript.sh
Como o IP da minha VPN muda muito, gostaria de "parametrizá-la".
Então, em vez de escrever este código de linha:
echo "ip route del default via 192.168.120.10 dev ppp0;" >> /tmp/firewallscript.sh
Eu preciso escrever algo como:
echo "ip route del default via @MyVariableIP dev ppp0;" >> /tmp/firewallscript.sh
Em que @MyVariableIP é o endereço IP do ppp0.
Então minhas perguntas são:
- Como posso obter o endereço IP da interface usando o bash, sabendo que a interface é ppp0?
- Como modificar o script anterior?
Obrigado