Re: openvpn за NAT
- From
- Valentin Nechayev (2:5020/400)
- To
- Alex Masterov
- Date
- 2006-12-02T16:59:42Z
- Area
- RU.UNIX.BSD
From: Valentin Nechayev <netch@segfault.kiev.ua>
>>> Alex Masterov wrote:
AM> После NAT пакет будет иметь следующий вид:
AM> IP 22.22.22.22.33465 > 11.11.11.11.33465: UDP, length
AM> Пусть вторая станция имеет адрес 192.168.34.2
AM> После NAT пакет будет иметь тот же самый вид:
AM> IP 22.22.22.22.33465 > 11.11.11.11.33465: UDP, length
AM> И когда обратно придет ответный пакет
AM> IP 11.11.11.11.33465 > 22.22.22.22.33465: UDP, length
AM> как NAT разберется куда его послать на 192.168.34.1 или на 192.168.34.2?
Такая ситуация стандартными средствами (такими как natd) скорее
всего не будет допущена, но получаемый результат зависит от типа
NAT. Есть два стандартных классификационных типа: "конусовый" (cone)
и "симметричный" (symmetric). В конусовом назначение внешнего адреса
по внутреннему статическое (по времени в пределах жизни
конфигурации), поэтому возможны конфликты назначений (кроме
вырожденного неинтересного случая одного внутреннего хоста).
Требовать от такого NAT соответствия внешнего порта внутреннему
нельзя - результаты будут именно такие извращённые как ты нарисовал.
В симметричном - назначение внешнего адреса по внутреннему
динамическое, внешний порт гарантированно будет другой (причём
скорее всего в обоих случаях).
natd с -s даёт симметричный NAT, с -m что-то среднее между двумя
типами. Классический конусовый (в котором внешний порт считается как
хэш от внутреннего адреса) в нём не делается.
-netch-
--- ifmail v.2.15dev5.3
* Origin: Dark side of coredump (2:5020/400)
SEEN-BY: 50/12 400/814 450/159 1024 461/43 132 640 469/999 4616/3 4625/8
SEEN-BY: 4641/444 5000/76 5000 5006/1 5007/1 5010/70 5011/13 5012/46 5015/28
SEEN-BY: 5019/26 5020/18 175 194 400 545 982 1057 1909 1922 2238 2395 2871
SEEN-BY: 5020/4441 5021/29 5025/3 5026/14 45 5027/12 5030/1080 1957 5034/10 13
SEEN-BY: 5035/3 38 5036/1 5045/7 5049/1 5051/15 5054/1 4 8 9 11 28 35 36 37 45
SEEN-BY: 5054/66 67 70 75 84 85 5059/9 5060/88 5061/15 5062/10 5063/3 5064/7
SEEN-BY: 5066/18 5075/5 5076/1 5077/70 5080/1003 5084/9 5085/13 5095/20
SEEN-BY: 5096/18 6001/10
PATH: 5020/400 545 5054/1 37