Транспарентни прокси DNAT: зашто је важна повратна рута
Схватите зашто DNAT може доставити захтев одвојеном проксију док одговор заобилази гејтвеј и прекида везу.
Преусмерени SYN може стићи до Squid-а док клијент још увек добија тајмаут. У DNAT поставци повратни пакет такође мора стићи до гејтвеја који поседује стање превођења.
Размотрите овај хипотетички LAN:
client 192.168.40.25 → gateway 192.168.40.1
DNAT → proxy 192.168.40.10
proxy 192.168.40.10 → client 192.168.40.25 directlyКлијент се првобитно повезао на адресу веб-сајта. Након DNAT-а прокси види извор клијента и може користити руту локалне подмреже да одговори директно. Тај одговор заобилази обрнуто превођење гејтвеја и може стићи до клијента са адресе проксија уместо са очекиване адресе веб-сајта. Гејтвеј не може поправити пакете које никада не прими.
| Приступ | Последица |
|---|---|
| Провођење одговора проксија кроз гејтвеј који преводи | Долазнa веза ка проксију може задржати изворну адресу клијента |
| Примена и одговарајућег превођења извора | Прокси одговара гејтвеју као свом партнеру, али сада види тај преведени извор уместо изворног клијента |
Не уклањајте SNAT због лепших записа без провере повратне руте. Широка примена мења и изворне ACL-ове и атрибуцију; прихватите ту последицу као део дизајна.
Поуздан HTTP скок може пренети метаподатке клијента у заглављу прослеђивања, али NAT не ствара то заглавље нити га претвара у идентитет TCP партнера. Чување извора на вези према Squid-у не чува га ни на Squid-овој одвојеној вези према веб-сајту.
Најзад, дизајн пресретања још увек мора да обезбеди податке о одредишту које Squid захтева. Симетрично повратно рутирање решава овај механизам тајмаута, не целу конфигурацију транспарентног проксија.