Рейтинг:1

UDP-пакеты принимаются внутри, но не извне — Ubuntu 18.04

флаг tk

заранее спасибо за то, что взглянули на это ... Я уверен, что решение простое - просто я не знаю, что это такое.

Бег нк -л -у 9090 И нк-ув 82.165.109.4 9090 команда на том же сервере, установите «соединение» типа netcat, и сообщения будут получены, как и ожидалось.

Существует запущенное приложение Docker, которое также получает пакет, поэтому внутренняя среда выглядит нормально.

эхо -p "привет" >/dev/udp/82.165.109.4/9090

получают оба tcpdump и приложение.


Я отслеживаю получение пакетов с помощью:

tcpdump -i любой порт udp -AXn 9090

  • Если я отправлю UDP-пакет извне, он не дойдет tcpdump
  • Я не могу пинговать сервер извне, но могу внутренне.
  • Порт, кажется, открыт и прослушивается.
  • порты ssh, http и https работают как положено.
netstat -ltu
Активные интернет-соединения (только серверы)
Proto Recv-Q Send-Q Локальный адрес Внешний адрес Состояние      
TCP 0 0 0.0.0.0:5984 0.0.0.0:* ПРОСЛУШИВАТЬ     
TCP 0 0 0.0.0.0:9070 0.0.0.0:* ПРОСЛУШИВАТЬ     
TCP 0 0 0.0.0.0:http 0.0.0.0:* ПРОСЛУШАТЬ     
TCP 0 0 локальный хост: домен 0.0.0.0: * ПРОСЛУШИВАТЬ     
TCP 0 0 0.0.0.0:ssh 0.0.0.0:* ПРОСЛУШАТЬ     
TCP 0 0 0.0.0.0:https 0.0.0.0:* ПРОСЛУШАТЬ     
tcp6 0 0 [::]:5984 [::]:* ПРОСЛУШАТЬ     
tcp6 0 0 [::]:9070 [::]:* ПРОСЛУШАТЬ     
tcp6 0 0 [::]:http [::]:* ПРОСЛУШАТЬ     
tcp6 0 0 [::]:ssh [::]:* ПРОСЛУШАТЬ     
tcp6 0 0 [::]:https [::]:* ПРОСЛУШАТЬ     
udp 0 0 локальный хост:домен 0.0.0.0:*                          
udp 0 0 0.0.0.0: загрузочный компьютер 0.0.0.0: *                          
удп 0 0 0.0.0.0:9090 0.0.0.0:*                          
udp6 0 0 [::]:9090 [::]:*   


Все, что я читал, указывает на iptables и брандмауэр, поэтому я отключил уфв


iptables -L
Сеть INPUT (политика ACCEPT)
целевая защита выбор источника назначения         

Сеть FORWARD (политика ACCEPT)
целевая защита выбор источника назначения         
DOCKER-USER все -- где угодно где угодно            
DOCKER-ISOLATION-STAGE-1 все -- в любом месте в любом месте            
ПРИНЯТЬ все -- где угодно и где угодно ctstate СВЯЗАННО, УСТАНОВЛЕНО
DOCKER все -- в любом месте в любом месте            
ПРИНИМАТЬ все -- в любом месте в любом месте            
ПРИНИМАТЬ все -- в любом месте в любом месте            
ПРИНЯТЬ все -- где угодно и где угодно ctstate СВЯЗАННО, УСТАНОВЛЕНО
DOCKER все -- в любом месте в любом месте            
ПРИНИМАТЬ все -- в любом месте в любом месте            
ПРИНИМАТЬ все -- в любом месте в любом месте            

Цепочка OUTPUT (политика ACCEPT)
целевая защита выбор источника назначения         

Сеть DOCKER (2 ссылки)
целевая защита выбор источника назначения         
ПРИНЯТЬ udp -- везде 172.18.0.3 udp dpt:9090
ПРИНЯТЬ tcp -- где угодно 172.18.0.6 tcp dpt:9080
ПРИНЯТЬ tcp -- везде 172.18.0.2 tcp dpt:https
ПРИНЯТЬ tcp -- где угодно 172.18.0.5 tcp dpt:5984
ПРИНЯТЬ tcp -- везде 172.18.0.2 tcp dpt:http

Сеть DOCKER-ISOLATION-STAGE-1 (1 ссылка)
целевая защита выбор источника назначения         
DOCKER-ISOLATION-STAGE-2 все -- в любом месте в любом месте            
DOCKER-ISOLATION-STAGE-2 все -- в любом месте в любом месте            
RETURN all -- в любом месте в любом месте            

Сеть DOCKER-ISOLATION-STAGE-2 (2 ссылки)
целевая защита выбор источника назначения         
УДАЛИТЬ все -- в любом месте в любом месте            
УДАЛИТЬ все -- в любом месте в любом месте            
RETURN all -- в любом месте в любом месте            

Сеть DOCKER-USER (1 ссылка)
целевая защита выбор источника назначения         
RETURN all -- в любом месте в любом месте   


Настройки NAT следующие:


iptables -t nat -L -v -n
Цепочка PREROUTING (политика ACCEPT 235 пакетов, 28704 байта)
 pkts bytes target prot opt ​​in out source target         
  163 9840 DOCKER all -- * * 0.0.0.0/0 0.0.0.0/0 ADDRTYPE соответствует dst-type LOCAL

Цепочка INPUT (политика ACCEPT 205 пакетов, 26904 байта)
 pkts bytes target prot opt ​​in out source target         

Цепочка OUTPUT (политика ACCEPT 72 пакета, 5351 байт)
 pkts bytes target prot opt ​​in out source target         
    2 121 DOCKER all -- * * 0.0.0.0/0 !127.0.0.0/8 ADDRTYPE соответствует dst-типу LOCAL

Цепочка POSTROUTING (политика ACCEPT 108 пакетов, 7416 байт)
 pkts bytes target prot opt ​​in out source target         
    4 240 МАСКАРАД все -- * !br-a371a521a463 172.18.0.0/16 0.0.0.0/0           
    0 0 МАСКАРАДировать все -- * !docker0 172.17.0.0/16 0.0.0.0/0           
    0 0 MASQUERADE udp -- * * 172.18.0.3 172.18.0.3 udp dpt:9090
    0 0 МАСКАРАД tcp -- * * 172.18.0.6 172.18.0.6 tcp dpt:9080
    0 0 МАСКАРАД tcp -- * * 172.18.0.2 172.18.0.2 tcp dpt:443
    0 0 МАСКАРАД tcp -- * * 172.18.0.5 172.18.0.5 tcp dpt:5984
    0 0 МАСКАРАД tcp -- * * 172.18.0.2 172.18.0.2 tcp dpt:80

Сеть DOCKER (2 ссылки)
 pkts bytes target prot opt ​​in out source target         
    2 120 ВОЗВРАТ все -- br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0           
    0 0 ВОЗВРАТИТЬ все -- docker0 * 0.0.0.0/0 0.0.0.0/0           
    1 37 DNAT udp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 udp dpt:9090 to:172.18.0.3:9090
    0 0 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9070 to:172.18.0.6:9080
    4 220 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443 to:172.18.0.2:443
    0 0 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5984 to:172.18.0.5:5984
    5 248 DNAT tcp -- !br-a371a521a463 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:172.18.0.2:80

Если UFW включен, статус такой:

подробный статус ufw
Статус: активен
Ведение журнала: включено (высокий уровень)
По умолчанию: запрещать (входящие), разрешать (исходящие), запрещать (маршрутизируемые)
Новые профили: пропустить

К действию от
-- ------ ----
22/tcp РАЗРЕШИТЬ ВХОД ВСЕГДА                  
80/tcp РАЗРЕШИТЬ ВХОД В любом месте                  
443/tcp РАЗРЕШИТЬ ВХОД В любом месте                  
993 РАЗРЕШИТЬ ВСЕГДА                  
995 РАЗРЕШИТЬ ВСЕГДА                  
9090/udp РАЗРЕШИТЬ ВСЕГДА                  
520/udp РАЗРЕШИТЬ ВСЕГДА                  
22/tcp (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
80/tcp (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
443/tcp (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
993 (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
995 (v6) РАЗРЕШИТЬ ВХОД ВСЕГДА (v6)             
9090/udp (v6) РАЗРЕШИТЬ ВСЕГДА (v6)             
520/udp (v6) РАЗРЕШИТЬ ВХОД В любом месте (v6)             

9090/udp РАЗРЕШИТЬ Прямую переадресацию в любом месте                  
9090/udp (v6) РАЗРЕШИТЬ FWD везде (v6)            


Я много пробовал, но некоторые из наиболее важных вещей таковы;

  • сброс iptables не дал результатов
  • мониторинг отправки UDP через tcpdump из внешнего ящика (который был зарегистрирован)
  • мониторинг всех портов и подробное ведение журнала (без изменений)
  • включение ip_forwarding
sysctl -p
net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1


Другие примечания:

  • Использование «облачного» сервера, следовательно, виртуальной машины.
  • Я не могу найти журналы ufw /etc/ufw/

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.