Я пытаюсь настроить статический IP-адрес для своих виртуальных машин Debian. В моем /etc/networking/interfaces
файл, который я добавил:
iface ens33 inet static
address 192.168.75.XXX
gateway 192.168.0.1
netmask 255.255.255.0
в /etc/resolv.conf
файл, который я добавил nameserver 8.8.8.8
. Я считаю, что моя проблема в том, что если у меня нет NetworkManager
служба включена, ничего не отображается, когда я запускаю route
или же ip route show
. Я попытался добавить маршрут в таблицу маршрутизации, выполнив следующую команду: ip route add 192.168.75.0/24 via 192.168.75.XXX (my static ip) dev ens33
. Это заполняет таблицу маршрутизации, и теперь таблица выглядит так:
Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.75.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33
Когда я запускаю команду ping, я все равно получаю ту же ошибку: «Целевой хост недоступен». Как я могу это исправить?
1 ответ
В /etc/networking/interfaces
в каждом разделе вы устанавливаете сетевую маску, которая определяет подсеть, к которой принадлежит ваш компьютер. Здесь: 255.255.255.0 означает / 24. IOW, адреса в вашей подсети меняются с 192.168.75.1 на 192.168.75.254.
В gateway
В строке указывается адрес маршрутизатора, который должен использоваться для доступа к машине, находящейся за пределами этой подсети. Очевидно, что маршрутизатор должен быть машиной, которая находится в той же подсети, то есть с IP-адресом от 192.168.75.1 до 192.168.75.254.
Вы указали gateway 192.168.0.1
. Это означает, что маршрутизатор находится вне подсети. Вот почему вы не можете пинговать никакую машину за пределами вашей подсети 192.168.75.0/24 («Целевой хост недоступен»).
Вы используете виртуальные машины. Ваш маршрутизатор, вероятно, является IP-адресом вашего хоста. Это зависит от конфигурации вашей виртуальной машины.
Последняя вещь:
ip route add 192.168.75.0/24 via 192.168.75.XXX (my static ip) dev ens33
неправильно. Если вы хотите объявить роутер вручную (в отличие от interfaces
файл), затем используйте эту команду:
ip route add default via 192.168.75.YYY (the IP of your router) dev ens33
(по умолчанию означает «любой адрес, для которого нет известного маршрута»)