Bu işlem için bir servis yazıyoruz.
/etc/systemd/system/set-route.service
--------------------------------------------------------
# cat /etc/systemd/system/set-route.service
[Unit]
Description=Set Default Route with IP 10.62.150.120
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/sbin/set-default-route.sh start
ExecStop=/usr/local/sbin/set-default-route.sh stop
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
--------------------------------------------------------------
# cat /usr/local/sbin/set-default-route.sh
----------------------------------------------------------------------------------------------------------------------------------
#!/bin/bash
# Rota ile ilgili değişkenler
ROUTE_IP="192.168.234.254"
SRC_IP="192.168.234.123"
INTERFACE="eno13"
start_route() {
# Rota olup olmadığını daha güvenilir bir şekilde kontrol et
EXISTING_ROUTE=$(ip route show default | grep "via $ROUTE_IP dev $INTERFACE src $SRC_IP")
if [ -n "$EXISTING_ROUTE" ]; then
echo "Rota zaten eklenmiş: default via $ROUTE_IP src $SRC_IP dev $INTERFACE"
exit 0
else
echo "Rota ekleniyor: default via $ROUTE_IP src $SRC_IP dev $INTERFACE"
ip route add default via $ROUTE_IP src $SRC_IP dev $INTERFACE
if [ $? -eq 0 ]; then
echo "Rota başarıyla eklendi."
exit 0
else
echo "Rota eklenirken bir hata oluştu."
exit 1
fi
fi
}
stop_route() {
# Rota var mı kontrol et
EXISTING_ROUTE=$(ip route show default | grep "via $ROUTE_IP dev $INTERFACE src $SRC_IP")
if [ -n "$EXISTING_ROUTE" ]; then
echo "Rota kaldırılıyor: default via $ROUTE_IP src $SRC_IP dev $INTERFACE"
ip route del default via $ROUTE_IP src $SRC_IP dev $INTERFACE
if [ $? -eq 0 ]; then
echo "Rota başarıyla kaldırıldı."
exit 0
else
echo "Rota kaldırılırken bir hata oluştu."
exit 1
fi
else
echo "Rota zaten yok."
exit 0
fi
}
# Betiğin hangi parametreyle çağrıldığını kontrol et
case "$1" in
start)
start_route
;;
stop)
stop_route
;;
*)
echo "Kullanım: $0 {start|stop}"
exit 1
;;
esac
----------------------------------------------------------------------------------------------------------------------------------
Yorumlar
Yorum Gönder