Задать вопрос
Kenny00
@Kenny00

Почему трафик не идет через шлюз по умолчанию?

В сети есть 2 gateway на linux все умеют forward без ограничений.
Сеть 10.128.0.0/24

Шлюз Первый - 10.128.0.1/24 (не должен использоваться)
Шлюз Второй - 10.128.0.4/24 (должен быть default gateway)

Машина в сети 10.128.0.7/24 настроена на default шлюз - 10.128.0.4/24 , не могу понять, почему все равно лезет через 10.128.0.1, куда и где копать? Что за чудеса, прилагаю ниже настройки машины.

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether d0:0d:18:ff:79:2e brd ff:ff:ff:ff:ff:ff
    altname enp138s0
    altname ens8
    inet 10.128.0.7/24 brd 10.128.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::d20d:18ff:feff:792e/64 scope link
       valid_lft forever preferred_lft forever

ip route
default via 10.128.0.4 dev eth0 onlink
10.128.0.0/24 dev eth0 proto kernel scope link src 10.128.0.7

cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet static
    address 10.128.0.7
    netmask 255.255.255.0
    gateway 10.128.0.4
    dns-nameservers 8.8.8.8

Ну и собственно...
traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  10.128.0.1 (10.128.0.1)  0.507 ms  1.121 ms  1.111 ms


Почему он обращается к 10.128.0.1, если default gw - 10.128.0.4 ?

Платформа YANDEX CLOUD.
Все машины в одной сети.
Стоит обратится в ТП Яндекса?
Очень интересно, как такое может быть, и что стоит проверить?
  • Вопрос задан
  • 791 просмотр
Подписаться 2 Средний 2 комментария
Решения вопроса 5
ValdikSS
@ValdikSS
Вы в traceroute видите ответ маршрутизатора о пути прохождения пакета. Вероятно, ваш первый хоп имеет адреса как 10.128.0.1, так и 10.128.0.4, но пакет ICMP Time-to-Live Exceeded он посылает с 10.128.0.1. Это не значит, что трафик маршрутизируется через адрес 10.128.0.1.
Ответ написан
Kenny00
@Kenny00 Автор вопроса
Ответ поддержки YANDEX.CLOUD

>Почему-то все машины используют шлюз который идет в сети по умолчанию, и его не изменить.
Специфика Yandex Cloud такова, что внутренние маршруты виртуальных машин не работают, прописывать и редактировать их не нужно. Для настройки маршрутизации вам нужно использовать статические маршруты - https://cloud.yandex.ru/docs/vpc/concepts/static-routes

>Как я могу перенаправлять трафик через виртуальную машину тогда, с 2 интерфейсами. Один в Интернет с внешним IP другой в локальную сеть.
Публичные адреса виртуальных машин (и других ресурсов) в Яндекс Облаке сопоставляются их внутренним адресам с помощью технологии one-to-one NAT.
Эта трансляция адресов производится автоматически и прозрачно для пользователя внутри VPC (Virtual Private Cloud, сетевая подсистема Яндекс Облака).
Таким образом, один сетевой интерфейс ВМ с публичным IP может иметь доступ как к локальной сети, так и к интернету.
Для перенаправления трафика через виртуальную машину вы можете воспользоваться маршрутизацией через NAT-инстанс - https://cloud.yandex.ru/docs/tutorials/routing/nat...
Ответ написан
Комментировать
hint000
@hint000
у админа три руки
запустите в одном окне sudo tcpdump host 8.8.8.8 и после этого в другом окне traceroute 8.8.8.8,
смотрите, что покажет tcpdump, будут ли там пакеты в сторону 10.128.0.4 (обязаны быть).
Ответ написан
@osada
Это касается только одной машины 10.128.0.7? На другой машине такая же проблема?

Нет ли отдельного правила на шлюзе 0.4 форвардить все пакеты от 0.7 на первый шлюз 0.1?

Или может такое правило настроено на iptables на самой машине 0.7
Ответ написан
martin74ua
@martin74ua Куратор тега Linux
Linux administrator
Проанализируйте, как идет трафик К 10.128.0.7 от 8.8.8.8
traceroute вам не обязательно покажет, как идет исходящий трафик...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы