LINUX.ORG.RU
ФорумAdmin

ubunti 14.04 не пускает к udp портам


0

1

Ubuntu 14.04. Есть явовоское приложение, которое висит на 67-ом порту(да, это dhcp сервер).

netstat -nupl 
Активные соединения с интернетом (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State       PID/Program name
udp        0      0 0.0.0.0:10000           0.0.0.0:*                           1382/perl       
udp        0      0 10.100.0.231:67         0.0.0.0:*                           1278/java       
udp        0      0 0.0.0.0:2005            0.0.0.0:*                           1258/java     

iptables чист

 iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

запросы по tcpdump доходят

tcpdump -i eth0 -nn -s 0 -v port 67 
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
19:11:45.597711 IP (tos 0x0, ttl 29, id 12, offset 0, flags [none], proto UDP (17), length 354)
10.99.3.99.68 > 10.100.0.231.67: BOOTP/DHCP, Request from d8:50:e6:d3:7c:47, length 326, hops 1, xid 0xbc642e88, secs 1024, Flags [Broadcast]
Gateway-IP 10.99.3.99
Client-Ethernet-Address d8:50:e6:d3:7c:47
Vendor-rfc1048 Extensions

Но приложение их не получает никак. Причем если обращаться локально с этой же машины на 67-порт, то все работает. Не работает извне.

Вначале грешили на selinux, но оказалось что в 14.04 его уже нет по дефолту, зато есть apparmor.

sudo apparmor_status
apparmor module is loaded.
5 profiles are loaded.
5 profiles are in enforce mode.
/sbin/dhclient
/usr/lib/NetworkManager/nm-dhcp-client.action
/usr/lib/connman/scripts/dhclient-script
/usr/sbin/mysqld
/usr/sbin/tcpdump
0 profiles are in complain mode.
2 processes have profiles defined.
2 processes are in enforce mode.
/usr/sbin/mysqld (1043) 
/usr/sbin/tcpdump (20678) 
0 processes are in complain mode.
0 processes are unconfined but have a profile defined.

Удалили его вообще из системы, все равно не помогло.

nmap показывает что нужный порт фильтруется. Если тестить порты с другой машины то показывает что открыт только 10000 порт это Webmin


nmap -sU 10.100.0.231

Starting Nmap 6.40 ( http://nmap.org ) at 2014-11-10 13:38 YAKT
Nmap scan report for billing (10.100.0.231)
Host is up (0.000018s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
67/udp open|filtered dhcps
10000/udp open ndmp


Последнее исправление: ubunter (всего исправлений: 7)

nmap показывает что нужный порт фильтруется.

либо открыт.

Покажи на всякий случай

iptables -t raw -L

anonymous
()
Ответ на: комментарий от anonymous
root@billing:/usr/local/BGBillingServer# iptables -t raw -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination       
ubunter
() автор топика
Ответ на: комментарий от ubunter

Окружение, в котором это все происходит, тебе подконтрольно? ISP могут блокировать такой трафик.

anonymous
()
Ответ на: комментарий от anonymous

Окружение, в котором это все происходит, тебе подконтрольно? ISP могут блокировать такой трафик.

Подконтрольно. Не совсем понятно, если пакет уже пришел на эту машину и tcpdump его видит, то при чем тут ISP?

ubunter
() автор топика
Ответ на: комментарий от ubunter

Не совсем понятно, если пакет уже пришел на эту машину и tcpdump его видит, то при чем тут ISP?

Думал, что могут блокироваться ответы, но видимо вопрос не в этом.

Тогда дебагай приложение, другие варианты не приходят в голову.

anonymous
()
Ответ на: комментарий от anonymous

Тогда дебагай приложение, другие варианты не приходят в голову.

Да там нечего дебажить. До туда ничего не доходит:)

ubunter
() автор топика
Ответ на: комментарий от ubunter

Да там нечего дебажить. До туда ничего не доходит:)

Ну это... Конфуций говорит, что если по всем признакам проблема не в дистрибутиве, то проблема может быть не в дистрибутиве.

Попробуй запустить netcat на этом порту и посмотреть, будет ли он получать датаграммы.

sudo nc -ul 67

proud_anon ★★★★★
()
Последнее исправление: proud_anon (всего исправлений: 2)

В iptables, кроме filter, который вы показали, ещё 3 таблицы.

Раз у вас есть все адреса пакета, который не доходит, либо добавьте -j LOG правило для него во все цепочки iptables, либо -j TRACE и настройте трассировку пакета. Если пакет будет доходить до ″-t filter INPUT″, то ковыряйте явовское приложение. Если нет, то можно посмотреть rp_filter.

mky ★★★★★
()
Ответ на: комментарий от mky

В iptables, кроме filter, который вы показали, ещё 3 таблицы.

Таблицы mangle и nat тоже пустые.

Раз у вас есть все адреса пакета, который не доходит, либо добавьте -j LOG правило для него во все цепочки iptables, либо -j TRACE и настройте трассировку пакета. Если пакет будет доходить до ″-t filter INPUT″, то ковыряйте явовское приложение. Если нет, то можно посмотреть rp_filter.

Спасибо попробуем.

ubunter
() автор топика

ubunti 14.04 не пускает

Смиернно прими сиё раб Марка. Ибо Убунти знает лучше твоего.

anonymous
()

Была похожая проблема не так давно, долго искал кто-фильтрует. Оказалось внешний девайс слал пакеты на определенный мак (небыло в девайсе резолва от ip), это легко можно посмотреть через тот-же wireshark, ip совпадают а мак - нет.

Стоило поменять мак на сетевой карте на ожидаемый как все сразу заработало.

maxxant
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.