Code: Select all
Machine 1 Machine 2 Machine 3
----------------------- ------------------------ -----------------------
| eth0: 172.17.0.1/16 |======| eth0: 172.17.0.2/16 | | |
| | | | | |
| | | eth1: 172.18.0.2/16 |======| eth0: 172.18.0.1/16 |
----------------------- ------------------------ -----------------------
< /code>
und Ich verwenden SMCROUTE, um eine Route auf Maschine 2 hinzuzufügen, um den für die Multicast -Gruppe 239.255.0.1 von Maschine 1 nach Maschine 3: < /p>
zugelassenen Verkehr hinzuzufügen.smcroutectl add eth0 239.255.0.1 eth1
< /code>
und Ich aktivieren IP -Maskerading -Schnittstellen -Eth1 auf Maschine2: < /p>
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
< /code>
und ich abonniere diese Gruppe auf Maschine 3: < /p>
smcroutectl join eth0 239.255.0.1
< /code>
Dann sollte ich in der Lage sein, diese Multicast -Adresse von Maschine 1 mit < /p>
zu pingen könnenping 239.255.0.1 -t 2
< /code>
Verwenden von TCPDump, ich erhalte dies über Eth1 auf Maschine 2: < /p>
00:35:19.798686 IP 172.18.0.2 > 239.255.0.1: ICMP echo request, id 133, seq 12, length 64
00:35:19.798739 IP 172.18.0.1 > 172.18.0.2: ICMP echo reply, id 133, seq 12, length 64
icmp 1 29 src=172.17.0.1 dst=239.255.0.1 type=8 code=0 id=130 [UNREPLIED] src=239.255.0.1 dst=172.18.0.2 type=0 code=0 id=130 mark=0 use=1
conntrack v1.4.6 (conntrack-tools): 1 flow entries have been shown.
< /code>
Aber der Kernel reagiert auf die Multicast -Pings mit der IP der Schnittstelle, an die wir uns der Gruppe angeschlossen haben Die Echo -Antwort auf Maschine 1?