Я пытаюсь настроить свои маршруты таким образом, чтобы я мог подключиться к Vagrant box с демонстрационной версией Solum .
Моя таблица маршрутизации содержит, но не ограничивается следующими маршрутами:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 9 0 0 wlan0
192.168.76.0 192.168.76.2 255.255.255.0 UG 0 0 0 vboxnet0
192.168.76.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
Я подозреваю, что третий маршрут (автоматически генерируемый при запуске Vagrant box) мешает второму маршруту (создан вручную), поэтому я пытаюсь удалить его.
Однако, используя любую из следующих команд
$ sudo route del 192.168.76.0 gw 0.0.0.0
$ sudo route del 192.168.76.0
возвращает:
SIOCDELRT: No such process
который обычно появляется, когда route
не удается найти маршрут.
С другой стороны, используя
$ sudo route del 192.168.76.0/24 gw 0.0.0.0
$ sudo route del 192.168.76.0/24
выходы:
route: netmask 000000ff doesn't make sense with host route
Usage: route [-nNvee] [-FC] [<AF>] List kernel routing tables
(rest of usage)
Что я делаю неправильно? Есть ли причина, по которой я не могу удалить этот маршрут? Я ошибаюсь, полагая, что это мешает тому, который я настроил?
(Я использую Ubuntu 14.04+).
command-line
bash
routing
Dragomok
источник
источник
route del -net 192.168.76.0
. В противном случае он думает, что вы пытаетесь удалить маршрут к одному хосту.route add -net 192.168.78.0/24 192.168.76.2
который имеет гораздо больше смысла./24
в конец команды, это сработает. Спасибо. Если вы отправите ответ, возможно, с некоторыми уточнениями в интересах людей, которые будут просматривать этот вопрос в будущем, я приму его.Ответы:
Чтобы удалить отдельный маршрут из таблицы маршрутов, необходимо указать достаточно параметров, чтобы можно было однозначно сопоставить один из маршрутов.
Если вы хотите удалить всю подсеть (в отличие от одного хоста), вам нужно использовать как
-net
флаг, так и некоторое указание области сетевого адреса, то есть либоnetmask
параметр (например, 255.255.255.0), либо число, подобное / 24 (это означает, что первые 24 бита являются номером сети, а остальные 8 используются для хостов). В вашем случае обаsudo route del -net 192.168.76.0/24
а также
sudo route del -net 192.168.76.0 netmask 255.255.255.0
работал бы.
(спасибо @nephente за полезные дополнения)
источник
dev vboxnet0
->sudo route del -net 192.168.76.0 netmask 255.255.255.0 dev vboxnet0
Комментарий, сделанный Йосом , почти верен:
$ sudo route del -net 192.168.76.0/24
удаляет маршрут.источник