Сегодня решал интересную задачку. Есть сеть 1 (192.168.3.0.24) и сеть 2 (10.1.2.0.24), соединенные между собой посредством PPTP туннеля. Вот так:
На машинке Client A прописан маршрут к сети 10.1.2.0/24 через 192.168.3.118 (Server with tunnell).
Все хорошо и замечательно бегает, но только до тех пор, пока туннель работает :)
Стоит ему упасть, на сервере пропадает маршрут к сети 10.1.2.0/24, в результате пакеты уходят через Gate на шлюз провайдера, который их дропает.
А мне надо, чтобы сервер возвращал ICMP Network Unrecheable.
Выход есть:
в скрипте /etc/ppp/ip-down пишем:
route add -net 10.1.2.0/24 dev ppp0 reject
Соответственно, в скрипте /etc/ppp/ip-up:
route delete -net 10.1.2.0/24 dev ppp0 reject
route add -net 10.1.2.0/24 dev ppp0
Вот в этой самой опции reject все и дело. Она заставляет ядро отбрасывать пакеты, что и требовалось.