Прихващане на прокси чрез iptables: портове 80 и 443 като набор
Съпоставете портове 80 и 443 като набор, като държите избора на клиентски адрес отделно от пренаписаната крайна точка на проксито.
За да изберете TCP трафик, чийто порт на местоназначение е 80 или 443, използвайте набор:
-p tcp -m multiport --dports 80,443За сравнение --dport 80:443 избира целия диапазон от 80 до 443 включително. Така се улавят много допълнителни портове. Запетаята и двоеточието изразяват различни политики.
Това са фрагменти за съпоставяне, а не пълни команди за защитна стена. Добавете ги към веригата и действието, които изисква схемата за прихващане.
| Селектор | Какво идентифицира преди пренаписването |
|---|---|
-s 192.0.2.20 | Адресът на източника на клиента |
-d 198.51.100.30 | Адресът на сървъра местоназначение |
--dports 80,443 | Портовете на услугата местоназначение |
Адресът, подаден на --to-destination на DNAT, е новото местоназначение, например слушателят на проксито. Той не замества значението на предходните съпоставяния по източник и местоназначение.
Дръжте селектора достатъчно тесен, за да описва предвидените клиенти и трафик. По-специално отчитайте връзките, които самото прокси създава, за да не влизат следващите му заявки отново в същия път на прихващане. Изборът на порт 443 също не превръща байтовете по тази връзка в явна заявка към HTTP прокси; приемащото приложение все още се нуждае от подходящ режим на прихващане. За прозрачно препращане от TCP към прокси преводачът трябва да възстанови първоначалното местоназначение и да договори протокола на проксито.