есть vpn и мне хочется в зависимости от настроек добавлять правила в таблицу маршрутизации и удалять их когда vpn останавливает свою работу. Правила работают и добавить их в основную таблицу не сложно, но чтобы их удалить надо так упороться в баше что после первого дня я решит отказаться от этой идеи. Самый простой вариант это добавить свою таблицу. Её проще всего удалить. Написал что-то вроде этого:
table ip vpn {
chain input {
type filter hook input priority filter - 1; policy accept;
iif "enp4s0" tcp dport 35462 counter packets 21 bytes 1260 accept
}
chain forward {
type filter hook forward priority filter - 1; policy accept;
ip saddr 10.0.4.0/24 counter packets 0 bytes 0 accept
}
chain output {
type filter hook output priority filter - 1; policy accept;
oif "tun0" counter packets 0 bytes 0 accept
}
}
В основной таблице у всех цепочек политика по умолчанию drop
. В дополнительной таблице поставил приоритет меньше на единицу и при попытке подключиться пакеты попадают в таблицу vpn
но потом благополучно проваливаются в основную где и отбрасываются. Не понимаю почему это не работает, подскажите пожалуйста =)
UPD: Решил с помощью добавления правил с комментариями, и поиском правил по определённым цепочкам. Хотел сделать вариант который бы не привязывался к каким либо настройкам фаервола, но возможно в другой раз. Тема «как это всё работает» для меня осталось «магией».