Предположим, например, что пользователь сети делает HTTP-запросhttp://serverfault.com. Я полагаю, что порт назначения (dport) в данном случае — 80.
Какой порт источника (спорт)?
Если пользователь вместо этого делает запросhttps://serverfault.com(представьте, что это допустимый URL), я полагаю, что dport — 443. Это правильно?
Если пользователь настроил свой браузер на использование прокси-сервера, то dport по-прежнему 80/443 или он меняется на любой порт, на котором работает прокси-сервер? А как насчет спорта?
Обычно dport/sport меняется при прохождении цепочек/правил iptables? А как быть в случае, когда пользователь проходит через прокси-сервер?
решение1
- Исходный порт выбирается ОС случайным образом из диапазона 1024-65535.
- 443 — это хорошо известный порт для HTTP через SSL/TLS (но, как и в случае с HTTP, вы можете сделать это на любом порту; клиенту просто нужно знать его и явно указать).
- (Я не знаком с прокси.) Существует несколько распространенных портов для прокси, например, 3128 и 8080.
- Netfilter изменяет заголовки только если ему это сказано. Адреса изменяются только при использовании NAT (трансляции сетевых адресов). Если используется прокси, то у вас есть одно соединение на прикладном уровне, но два на транспортном уровне: одно от клиента к прокси и второе от прокси к реальной цели.