Страница 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 соединение устанавливается
, вопрос - почему?
Ведь обратно пакет должен идти через 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, так как они в одной подсети.