metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2011-05-04 08:12 am

Ад программизма и трэш админства

Винда на интернет-шлюзе:

Венда в этом разе - ужасный вариант, но по причине того, что помимо шлюза на этом мегаведре еще стоят чудесные клиент-банки, которые ТУПО НЕ РАБОТАЮТ ЧЕРЕЗ НАТ, и об этом ТП говорит прямым текстом, то тут можно только обнять все это хозяйство и плакать

софтина не работает если на одном из интерфейсов стоит не инетовский адрес, я не знаю, что они там натворили, но работает только так

Если мы мне такое попалось - я бы сломал голову, но дрянь эту бы разобрал по косточкам и по возможности придумал костыль для запуска через НАТ, вплоть до VPN в интернеты.
Потому что подход "абы работало", реализуемый через извращения меня бесит. В данном случае извращением являются винда на шлюзе и всякие кульные прожки типа керио или юзергейта. И костыли с извращениями нужно локализовывать, а не ставить их в центре всего.

[identity profile] jamhed.livejournal.com 2011-05-04 08:48 am (UTC)(link)
дятел, и неблагодарный

[identity profile] metaclass.livejournal.com 2011-05-04 08:50 am (UTC)(link)
Да элементарно. Я ж говорю - приходит пакет, в нем адрес и порт откуда пришло и адрес и порт куда должно придти - первое разное(разные клиенты), второе одинаковое(сервер). По паре "откуда пришло" содержимое пакета запиливается в нужный акцептированный сокет, ну или там новое соединение создается.

[identity profile] jamhed.livejournal.com 2011-05-04 08:53 am (UTC)(link)
> ну или там новое соединение создается.

правильнее сказать что происходит accept на слушающем сокете, и если somaxconn не превышен.

[identity profile] metaclass.livejournal.com 2011-05-04 09:02 am (UTC)(link)
Цитата из википедии:
"Arriving TCP data packets are identified as belonging to a specific TCP connection by its sockets, that is, the combination of source host address, source port, destination host address, and destination port. This means that a server computer can provide several clients with several services simultaneously, as long as a client takes care of initiating any simultaneous connections to one destination port from different source ports."

Соединение идентифицируется набором из 4 чисел.
На сервере не нужно выделять никаких портов дополнительно, потому что соединение на которое приходит пакет, уникально определяется исходящим адресом-портом.
Мне шо, в исходники TCP стека лезть теперь и проверять очевидные истины?:)

[identity profile] trueblacker.livejournal.com 2011-05-04 09:15 am (UTC)(link)
нда, похоже я таки прогнал
всем спасибо, виноват

[identity profile] trueblacker.livejournal.com 2011-05-04 09:16 am (UTC)(link)
благодарю за вашу настойчивость
похоже, я был неправ

[identity profile] metaclass.livejournal.com 2011-05-04 09:19 am (UTC)(link)
Главное чтобы теперь не пришли благодарные читатели и не начали в эту ветку переубеждать дальше :)

[identity profile] jamhed.livejournal.com 2011-05-04 09:23 am (UTC)(link)
:) редкий случай для жж.

[identity profile] trueblacker.livejournal.com 2011-05-04 09:23 am (UTC)(link)
главное что истина торжествует :-)
в гумантираных спорах такие ветки можно продолжать много дольше

[identity profile] trueblacker.livejournal.com 2011-05-04 09:35 am (UTC)(link)
кстати, в пылу спора забыли про основной вопрос. Все эти нюансы с наличием или отсутствием уникального серверного порта ничем не отличаются с т.з. идентификации и работают только при живом соединении.
Я предполагал, что спор пойдёт именно по этой ветке, после чего мы плавно перейдём к недостаткам собсно протокола клиент-банка, который сильно полагается на нижний уровень там, где не должен

[identity profile] metaclass.livejournal.com 2011-05-04 09:37 am (UTC)(link)
Вот мне как раз и интересно, что же они такое сделали, что нужен прямой IP адрес - неужели открывают порт и ждут соединение от сервера, да таким образом, что ни один стандартный НАТ этого не понимает.

[identity profile] jamhed.livejournal.com 2011-05-04 09:41 am (UTC)(link)
речь шла о том, что клиент соединяется с сервером из под nat и для каких то целей передает серверу свой локальный ip и порт. локальный ип и порт при большом числа клиентов будут совпадающими для нескольких по причинам которые я уже изложил. поэтому для аутентификации эта информация бесполезна, т.к. не позволяет клиента идентифицировать однозначно.

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

[identity profile] trueblacker.livejournal.com 2011-05-04 09:42 am (UTC)(link)
это единственное объяснение, пожалуй.
И я даже знаю кое-какие варианты ответа, почему такое может понадобится, правда, не в клиент-банке, а при многопользовательском терминальном сервере, на котором крутится что-нить клиентское, но слишком жирное для рабочих станций

[identity profile] trueblacker.livejournal.com 2011-05-04 09:44 am (UTC)(link)
По-моему, ip ничем не лучше номера порта, если нужно однозначно идентифицировать клиента. Эта информация, если и нужна для некого учёта, то только в связке с прикладными данными.

[identity profile] jamhed.livejournal.com 2011-05-04 09:45 am (UTC)(link)
если они открывают порт и сообщают об этом серверу внутри существующего соединения (о номере порта), ни один стандартный нат этого не понимает.

более того, это единственная схема, которая не позволит работать такому клиенту технически.

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

вероятность того, что админ и техподдержка банка долбоебы вместе и не понимают как у них банк-клиент работает существенно выше.

[identity profile] volodymir-k.livejournal.com 2011-05-04 12:45 pm (UTC)(link)
"Стандартный TCP-IP не работает". Вы ж белорусы, вы ж партизаны, всё по своему, трэба быць незалежным!

[identity profile] theiced.livejournal.com 2011-05-04 04:32 pm (UTC)(link)
при том что венты на шлюзе быть не должно ни при каких условиях.

клиент-банки это всегда мрак и ужас.

[identity profile] denisioru.livejournal.com 2011-05-04 05:28 pm (UTC)(link)
> при том что венты на шлюзе быть не должно ни при каких условиях.
orly? :)))))) у меня аж монитор мироточить начал жыром.
Я вот категорически обратного мнения придерживаюсь. ISA или Kerio отлично работают годами.

[identity profile] denisioru.livejournal.com 2011-05-04 05:29 pm (UTC)(link)
Понятия не имею. Кто-то совершенно ебанутый на создании велосипедов видимо решил написать. Собственную ОСь ему написать не дали, а вот TCP реализовать самому - ума не хватило запретить :(

[identity profile] metaclass.livejournal.com 2011-05-04 05:38 pm (UTC)(link)
Зависит от условий. Более-менее сложная инфраструктура и идут они лесом.
Кроме того, ставить дополнительные проги ради шлюза - это ад какой-то. Я линукс начал изучать только ради того, чтобы не воевать с клиническими заморочками винды при раздаче интернетов.

[identity profile] denisioru.livejournal.com 2011-05-04 05:40 pm (UTC)(link)
Вот именно, зависит от условий. Если инфраструктура на виндах - шлюз будет либо на цисках/оборудовании либо на виндах. Зоопарков городить никто не будет.

[identity profile] zamotivator.livejournal.com 2011-05-04 08:57 pm (UTC)(link)
Бинго!
Я уж боялся, придётся Стивенсона сюда выкладывать - фотографии либо цитаты.

[identity profile] theiced.livejournal.com 2011-05-05 02:15 am (UTC)(link)
виндовз? голой жопой? в интернет? вы там в своей рашке совсем ёбнулись чоле?

[identity profile] theiced.livejournal.com 2011-05-05 02:19 am (UTC)(link)
я как то попытался настроить какой нить раздатчик интернета на виндовзе. это пиздец и жабы, ну нахуй. нужно то всего было "iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE". ХУЙ. сторонний говнософт завести не удалось. керио-хуерио и прочая. вентовый интернет коннекшн шаринг после долгого шаманства таки заработал, но отдаёт интернеты всем желающим. ебать его конём.

[identity profile] metaclass.livejournal.com 2011-05-05 05:04 am (UTC)(link)
У меня была какая-то хуита типа того что винда после месяца работы на раздаче интернета превращалась в тыкву.
Вспомнил, блин - скайп виндовый прокси подвешивал за 5 минут работы. Ровно поэтому я начал курить линуксятину, и слава богу.

Page 4 of 5