[freebsd] TCP vs UDP в контексте туннеля.

Eugene Grosbein eugen at grosbein.net
Mon Jun 27 23:03:35 EEST 2022


On 27.06.2022 10:11, Nick Kostirya via freebsd wrote:
> On Mon, 27 Jun 2022 01:36:39 +0700
> Eugene Grosbein <eugen at grosbein.net> wrote:
> 
>> 25.06.2022 13:47, Nick Kostirya via freebsd пишет:
>>> Привет.
>>>
>>> В туннель заворачивается на сервере X (192.168.10.1) вот так
>>>
>>> ${fwcmd} nat 2 config if vmx0 same_ports reset redirect_port udp 192.168.10.111:8080 8080 redirect_port tcp 192.168.10.111:8080 8080
>>>
>>>
>>> На сервере Y (192.168.10.111) запросы tcpdump показывает приходят на 192.168.10.111, но вот ответы...
>>>
>>> UDP ответ идет с 192.168.0.111 (вне туннеля) по внешнему интерфейсу rl0
>>> а
>>> TCP ответ идет с 192.168.10.111 (адрес туннеля), но тоже по внешнему интерфейсу rl0
>>>
>>>
>>> Почему так? 
>>>
>>>
>>> Для UDP заворачиваю в туннель вот так
>>> ${fwcmd} add fwd 192.168.10.1 all from me 8080 to any out via rl0
>>>
>>> И все работает. Сервер видит ответ X и пересылает дальше.
>>>
>>> А вот с TCP forward не работает.  
>>
>> Нужен полный вывод ipfw show без каких-либо редактирований, разве что можешь заменить публичные адреса.
> 
> На W.W.W.W делаю запрос, который X.X.X.X перенаправляет в тeннель 192.168.10.1 -> 192.168.10.111
> # echo hello | nc -w 1 X.X.X.X 8080
> 
> 
> 
> Ответ на дальнем конце туннеля (192.168.10.111), где стоит TCP сервер
> 
> 
> # tcpdump -A -i rl0 'port 8080'

Я просил вывод ipfw show, а не tcpdump.




More information about the freebsd mailing list