Страница 1 из 1

ssh without default gateway

Добавлено: 2015-04-08 11:32:58
fragpit
Всем привет,

помогите разобраться в теории...

Есть хост, на esxi, одним интерфейсом смотрит в локалку(eth1), другим в инет (eth0)

eth0:
X.X.X.2/29 - внешний IP

eth1:
y.y.y.2/24 внутренний IP

default gateway на этом хосте y.y.y.1 (NAT overload X.X.X.3), т.е. через локальную сеть.

При подключении по ssh через интернет на X.X.X.2 соединение устанавливается :cz2: , вопрос - почему?
Ведь обратно пакет должен идти через default gateway, а он уходит через тот же интерфейс, что и пришел..

ssh without default gateway

Добавлено: 2015-04-08 12:21:40
skeletor
Потому что так у вас настроено. В дефолтном варианте такого не должно быть. И что такое (NAT overload X.X.X.3), если X.X.X.2/29 - внешний IP?

ssh without default gateway

Добавлено: 2015-04-08 13:33:01
fragpit
NAT X.X.X.3, значит, что на шлюзе прописан IP из той же подсети, что и у хоста на внешнем интерфейсе. И в нормальной ситуации, если esxi инициирует соединение с внешним узлом, он пойдет через шлюз по-умолчанию, и его внешний IP будет X.X.X.3 (NAT).
Однако, сейчас, при подключении на X.X.X.2, ssh устанавливает успешно. Т.е. хост устанавливает соединение на том же интерфейсе через который пришел пакет, а не через шлюз по-умолчанию.
Как мне кажется, единственное на чем может основываться такое поведение, это source mac-address во входящем пакете.

Какие настройки отвечают за такое поведение? Как это вообще называется?

ssh without default gateway

Добавлено: 2015-04-08 14:19:30
skeletor
Разницу в своих словах видите?
fragpit писал(а):...если esxi инициирует соединение с внешним узлом, он пойдет через шлюз по-умолчанию
...
Однако, сейчас, при подключении на X.X.X.2, ssh устанавливает успешно
Инициирует соединение не esx, а клиент, который подключается к ssh. Насколько мне удалось понять. Правильно говорить "ответные пакеты уходят туда-то"
Да и вообще, здесь что-то сложно сказать, не понимая, как у вас настроен NAT, есть ли какие-то правила ip rule и т.д.

ssh without default gateway

Добавлено: 2015-04-08 14:41:53
fragpit
Чистый esxi, настроены только IP на интерфейсах и дефолтный маршрут.
Подключен в локалку и инет. default gateway через локалку на шлюз где NAT.

Код: Выделить всё

~ # esxcfg-vmknic -l
Interface  Port Group/DVPort   IP Family IP Address   Netmask         Broadcast       MAC Address       MTU     TSO MSS   Enabled Type
vmk0       Management Network  IPv4      X.X.X.2  255.255.255.248 X.X.X.1  0c:c4:7a:31:f1:88 1500    65535     true    STATIC
vmk1       VMkernel            IPv4      y.y.y.2   255.255.0.0     y.y.255.255  00:50:56:63:78:ec 1500    65535     true    STATIC

Код: Выделить всё

~ # esxcfg-route -l
VMkernel Routes:
Network          Netmask          Gateway          Interface
X.X.X.0   255.255.255.248  Local Subnet     vmk0
y.y.0.0       255.255.0.0      Local Subnet     vmk1
default          0.0.0.0          y.y.y.1       vmk1
давайте, для простоты, предположим, что на шлюзе y.y.y.1 вообще закрыт выход наружу, нет NAT, выключен forwarding. Только локалка.

должно ли устанавливаться соединение из интернета на адрес X.X.X.2 (внешний адрес esxi)?
сейчас оно устанавливается, пакеты входят в интерфейс X.X.X.2 и уходят в него же. хотя, как мне кажется, должны уходить на дефолтный маршрут..

ssh without default gateway

Добавлено: 2015-04-08 15:02:06
skeletor
Есть предположение, что пакеты отправляются по всем имеющимся адресам, а не конкретно туда, откуда пришли. Запустите Tcpdump в момент подключения на обеих интерфейсах и посмотрите, куда идут пакеты.
Второй момент, что на шлюзе у вас не SNAT, а проброс портов с подменой SRC ADDR на адрес шлюза, тогда естественно, ответы будут уходить на NAT, так как они в одной подсети.