LINUX.ORG.RU

История изменений

Исправление Pinkbyte, (текущая версия) :

Ээээ? Ты кажется не понимаешь как это работает.

Смотри, грубо говоря(потому что есть еще всякие recursive routing и протоколы динамической маршрутизации, но давай об этом умолчим - у тебя такой дичи там нет и не будет) в твоей топологии есть 2 вида маршрутов:

1) connected route. Это сеть, которая настроена на самом интерфейсе и доступна через него напрямую без всяких шлюзов.

Выглядит такой маршрут в выхлопе route так:

192.168.50.0    *               255.255.255.0   U     0      0        0 eth0

Обрати внимание на вторую колонку - там вместо шлюза указан *, что означает что шлюз не используется для данной подсети

2) static route. Сеть доступная через какой-то шлюз(который в свою очередь должен быть в одной из подсетей connected route-ов).

Частным случаем static route является маршрут по умолчанию(default route) - куда слать весь трафик, который не попал под любое другое правило(connected или более специфичных static route-ов).

Шлюз по умолчанию в выхлопе route выглядит так:

default         192.168.43.1    0.0.0.0         UG    0      0        0 wlan0

Обрати внимание на маску подсети(0.0.0.0) и наличие адреса шлюза во второй колонке. default в первой колонке - это своеобразный алиас для записи адреса сети 0.0.0.0.

То есть маршрут по умолчанию имеет адрес сети 0.0.0.0 и маску 0.0.0.0.

Соответственно процедура его добавления и удаления выглядит примерно так:

route del -net 0.0.0.0 netmask 0.0.0.0
route add -net 0.0.0.0 netmask 0.0.0.0 gw ip_адрес_шлюза

Имя интерфейса при добавлении статического маршрута(и маршрута по умолчанию в том числе, т.к. как я уже сказал - это разновидность статического) можно не указывать - оно высчитается автоматически из connected route-а той сети которой принадлежит шлюз.

Соответственно ты своими действиями не добавлял шлюз по умолчанию. Ты удалил connected route для проводной подсети и при попытке прописать статический маршрут(не default) на удаленную подсеть через шлюз в этой же подсети(которой еще НЕТ в таблице маршрутизации, т.к. ты ее только что и удалил) - закономерно получил облом!

Ну и наконец: ты же понимаешь, что убрав шлюз по умолчанию из wifi-подсети ты фактически не будешь пользоваться wifi-ем, кроме как для доступа к подсети 192.168.43.0 ?

В очередной раз рекомендую первые пару-тройку частей из цикла «Сети для самых маленьких». Конкретно часть 3 про статическую маршрутизацию - разложит всё по полочкам.

Исправление Pinkbyte, :

Ээээ? Ты кажется не понимаешь как это работает.

Смотри, грубо говоря(потому что есть еще всякие recursive routing и протоколы динамической маршрутизации, но давай об этом умолчим - у тебя такой дичи там нет и не будет) в твоей топологии есть 2 вида маршрутов:

1) connected route. Это сеть, которая настроена на самом интерфейсе и доступна через него напрямую без всяких шлюзов.

Выглядит такой маршрут в выхлопе route так:

192.168.50.0    *               255.255.255.0   U     0      0        0 eth0

Обрати внимание на вторую колонку - там вместо шлюза указан *, что означает что шлюз не используется для данной подсети

2) static route. Сеть доступная через какой-то шлюз(который в свою очередь должен быть в одной из подсетей connected route-ов).

Частным случаем static route является маршрут по умолчанию(default route) - куда слать весь трафик, который не попал под любое другое правило(connected или более специфичных static route-ов).

Шлюз по умолчанию в выхлопе route выглядит так:

default         192.168.43.1    0.0.0.0         UG    0      0        0 wlan0

Обрати внимание на маску подсети(0.0.0.0) и наличие адреса шлюза во второй колонке. default в первой колонке - это своеобразный алиас для записи адреса сети 0.0.0.0.

То есть маршрут по умолчанию имеет адрес сети 0.0.0.0 и маску 0.0.0.0.

Соответственно процедура его добавления и удаления выглядит примерно так:

route del -net 0.0.0.0 netmask 0.0.0.0
route add -net 0.0.0.0 netmask 0.0.0.0 gw ip_адрес_шлюза

Имя интерфейса при добавлении статического маршрута(и маршрута по умолчанию в том числе, т.к. как я уже сказал - это разновидность статического) можно не указывать - оно высчитается автоматически из connected route-а той сети которой принадлежит шлюз.

Соответственно ты своими действиями не добавлял шлюз по умолчанию. Ты удалил connected route для проводной подсети и при попытке прописать статический маршрут(не default) на удаленную подсеть через шлюз в этой же подсети(которой еще НЕТ в таблице маршрутизации, т.к. ты ее только что и удалил) - закономерно получил облом!

Ну и наконец: ты же понимаешь, что убрав шлюз по умолчанию из wifi-подсети ты фактически не будешь пользоваться wifi-ем, кроме как для доступа к подсети 192.168.43.0 ?

В очередной раз рекомендую первые пару-тройку частей из цикла «Сети для самых маленьких». Конкретно часть 3 про статическую маршрутизацию - разложит всё по полочкам.

Исходная версия Pinkbyte, :

Ээээ? Ты кажется не понимаешь как это работает.

Смотри, грубо говоря(потому что есть еще всякие recursive routing и протоколы динамической маршрутизации, но давай об этом умолчим - у тебя такой дичи там нет и не будет) в твоей топологии есть 2 вида маршрутов:

1) connected route. Это сеть, которая настроена на самом интерфейсе и доступна через него напрямую без всяких шлюзов.

Выглядит такой маршрут в выхлопе route так:

192.168.50.0    *               255.255.255.0   U     0      0        0 eth0

Обрати внимание на вторую колонку - там вместо шлюза указан *, что означает что шлюз не используется для данной подсети

2) static route. Сеть доступная через какой-то шлюз(который в свою очередь должен быть в одной из подсетей connected route-ов).

Частным случаем static route является маршрут по умолчанию(default route) - куда слать весь трафик, который не попал под любое другое правило(connected или более специфичных static route-ов).

Шлюз по умолчанию в выхлопе route выглядит так:

default         192.168.43.1    0.0.0.0         UG    0      0        0 wlan0

Обрати внимание на маску подсети(0.0.0.0) и наличие адреса шлюза во второй колонке. default в первой колонке - это своеобразный алиас для записи адреса сети 0.0.0.0.

То есть маршрут по умолчанию имеет адрес сети 0.0.0.0 и маску 0.0.0.0.

Соответственно процедура его добавления и удаления выглядит примерно так:

route del -net 0.0.0.0 netmask 0.0.0.0
route add -net 0.0.0.0 netmask 0.0.0.0 gw ip_адрес_шлюза

Имя интерфейса при добавлении статического маршрута(и маршрута по умолчанию в том числе, т.к. как я уже сказал - это разновидность статического) можно не указывать - оно высчитается автоматически из connected route-а той сети которой принадлежит шлюз.

Соответственно ты своими действиями не добавлял шлюз по умолчанию. Ты удалил connected route для проводной подсети и при попытке прописать статический маршрут(не default) на удаленную подсеть через шлюз в этой же подсети(которой еще НЕТ в таблице маршрутизации, т.к. ты ее только что и удалил) - закономерно получил облом!

Ну и наконец: ты же понимаешь, что убрав шлюз по умолчанию из wifi-подсети ты фактически не будешь пользоваться wifi-ем, кроме как для доступа к подсети 192.168.43.0 ?