Я не написал часть Моей среды, которая может быть важна для этой проблемы.
Я использую VMware.
Моя среда:
Mac OS X 10.8.5
CentOS 6.5 on VMWare Fusion 6.0.4 on Mac OS X 10.8.5
No firewall setting on MacOS X 10.8.5
Mac OS X(Host OS) network
- en0 : 192.168.10.4
- vmnet1 : 172.16.99.1
- vmnet8 : 172.16.173.1
CentOS(Guest OS) network (connected with "Bridge" setting)
- eth0 : 192.168.10.8
- lo : 127.0.0.1
1) Из CentOS в Mac OS X через en0 в Mac OS X.
- tcpdump в Mac OS X не показывает входящий пакет UDP (в CentOS 6.5 показано "Отказ в соединении")
- Приложение Unity (приемник UDP) показывает входящий пакет UDP (без сообщений об ошибках в CentOS 6.5)
На CentOS
# echo "test" | nc -w 1 -u 192.168.10.4 6000
nc: Write error: Connection refused
В Mac OS X
# tcpdump -n udp portrange 6000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
2) Из CentOS в Mac OS X через vmnet8 в Mac OS X.
- tcpdump в Mac OS X показывает входящий пакет UDP, как показано ниже.
На CentOS
$ echo "test" | nc -w 1 -u 172.16.173.1 6000
В Mac OS X
# tcpdump -n udp portrange 6000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
07:28:39.958576 IP 192.168.10.8.59866 > 172.16.173.1.6000: UDP, length 5
Поэтому, по крайней мере, если я использую vmnet8, я могу отправить UDP-пакет из CentOS в Mac OS X. У меня также нет проблем с использованием vmnet1.