Как работают программы p2p (skype, torrent ...), когда Firewall не принимает входящие соединения?
В брандмауэре Juniper нет политики перехода из Интернета в локальную сеть, но такие программы, как skype a torrent, работают без проблем. без какой-либо входящей политики, как эти программы работают?
2 ответа
Обычно (ab) использует Statefulness брандмауэра.
Большинство, если не все, брандмауэры в наши дни являются Stateful. Они отслеживают входящий и исходящий трафик, поэтому знают "взаимосвязь" между пакетами. Например, если узел внутри сети отправляет пакет SYN куда-то извне, брандмауэр знает об этом и знает, что ожидать соответствующего пакета SYN ACK с адреса, на который был отправлен исходный SYN.
Таким образом, пока хост внутри устанавливает соединение вне, тогда "шлюзы открыты" для обратного трафика.
Есть и другие, более сложные методы. Небольшой список примеров включает в себя:
Приложения P2P используют методы для прохождения NAT, которые большинство людей имеют в своем жилом шлюзе. Используемые приемы основаны на том факте, что исходящие соединения разрешены, поэтому они работают на брандмауэрах с одинаковой политикой.
Самый простой и успешный метод - пробивание отверстий UDP.
Его вариант TCP немного сложнее, но в случае сбоя программное обеспечение может попытаться использовать туннелирование TCP через UDP.
Существует также пробивание ICMP, в котором используется другой подход, позволяющий установить первоначальный контакт, не обращаясь к третьей стороне.