Broadcast na síťové kartě

martin

Broadcast na síťové kartě
« kdy: 22. 10. 2011, 15:37:28 »
zdar,

robim jednu aplikaciu ktora ma broadcastovat procesom v sieti, na notebooku ale nemam viac ako jednu sietovku a tak som nuteny simulovat.

provider to mam nejako divno vyriesene, to som cez wifi, tak este zostava sietovka cez kabel.

v nej ale ziadny kabel nie je.

eth0 som si teda nastavil na 172.16.0.1
sudo ifconfig eth0 172.16.0.1 up

potom som si vytvoril aliasi na tuto sietovku
Kód: [Vybrat]
sudo ifconfig eth0:0 172.16.0.1 up
sudo ifconfig eth0:1 172.16.0.2 up
takze to vyzera takto
Kód: [Vybrat]
eth0      Link encap:Ethernet  HWaddr 00:26:9e:80:b0:22 
          inet addr:172.16.0.1  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:46 Base address:0xe000

eth0:0    Link encap:Ethernet  HWaddr 00:26:9e:80:b0:22 
          inet addr:172.16.0.2  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Interrupt:46 Base address:0xe000

eth0:1    Link encap:Ethernet  HWaddr 00:26:9e:80:b0:22 
          inet addr:172.16.0.3  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          Interrupt:46 Base address:0xe000

takze ocakavam, ze ked vykonam:
Kód: [Vybrat]
ping -b 172.16.255.255tak to bude vracat pingy z tych aliasovych sietoviek.

kde robim chybu?
« Poslední změna: 24. 10. 2011, 11:08:03 od Petr Krčmář »


martin

Re: broadcast na sietovke
« Odpověď #1 kdy: 22. 10. 2011, 15:39:16 »
teda sorry, malo to byt:

Kód: [Vybrat]
sudo ifconfig eth0:0 172.16.0.2 up
sudo ifconfig eth0:1 172.16.0.3 up

Tomas

Re: broadcast na sietovke
« Odpověď #2 kdy: 22. 10. 2011, 22:03:45 »
S timhle nemam moc zkusenost, ale zkusil bych procist nasledujici link:
http://www.faqs.org/docs/Linux-mini/IP-Alias.html

Vypada to, ze vhodne nastaveni "route" pro aliasovane eth by mohlo pomoct.

buy viagra

Re: broadcast na sietovke
« Odpověď #3 kdy: 23. 10. 2011, 02:46:05 »
imho ti ten linux ignoruje broadcast pingy, takze neodpovida, coz je dneska bezne nastaveni, viz. treba u me:


# sysctl -a | grep -i icmp_echo
net.ipv4.icmp_echo_ignore_all = 0
net.ipv4.icmp_echo_ignore_broadcasts = 1

buy viagra

Re: broadcast na sietovke
« Odpověď #4 kdy: 23. 10. 2011, 02:49:16 »
takze neco ve stylu..


echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts


.. by to snad mohlo spravit


JmJ

  • ****
  • 315
    • Zobrazit profil
Re: broadcast na sietovke
« Odpověď #5 kdy: 23. 10. 2011, 07:44:21 »
broadcasty jsou osidne. dokonce se k nim ruzne os chovaji ruzne. tvuj pokus ma vychozi nestandardni nastaveni. mit ve stroji dve sitova rozhrani patrici do jedne site neni uplne dobre.tezkk pak rict, kterym rozhranim maji pakety odejit. jiste to lze stelovat pres routovaci tabulku, ale bezne do ni saha malo kdo. u domaciho desktopu.

jiste by se cekalo, ze u broadcastu je to jedno a proste ma na kazdem odpovidajicim rozhrani odejit paket. a tady je finta. pokud poslete paket na broadcast pres socket, pak jeden send je roven jednomu paketu, ktery odejde jednim rozhranim. takze mam obavu, ze ping na to pujde stejne a bude posilat broadcast na jednk rozhrani.

nejsen si jist, jestli se toto pro eth0 eth0:1 a eth0:2 nechova jinak, kdyz je yo fyzicky jeden drat. 

martin

Re: broadcast na sietovke
« Odpověď #6 kdy: 23. 10. 2011, 13:11:18 »
pouzil som to nastavenie ako radil buy viagra

Kód: [Vybrat]
net.ipv4.icmp_echo_ignore_broadcasts = 1
nastavil som to takto:
Kód: [Vybrat]
ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
ifconfig eth0:0 192.168.0.2 netmask 255.255.255.0 up
ifconfig eth0:1 192.168.0.3 netmask 255.255.255.0 up

potom som nastavil routy
Kód: [Vybrat]
route add -host 192.168.0.1 dev eth0
route add -host 192.168.0.2 dev eth0:0
route add -host 192.168.0.3 dev eth0:1
route add -net 192.168.0.0/24 gw 192.168.0.1

a vysledny ping:
Kód: [Vybrat]
ping -b 192.168.0.255
WARNING: pinging broadcast address
PING 192.168.0.255 (192.168.0.255) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_req=1 ttl=64 time=0.047 ms
64 bytes from 192.168.0.1: icmp_req=2 ttl=64 time=0.044 ms
64 bytes from 192.168.0.1: icmp_req=3 ttl=64 time=0.044 ms
64 bytes from 192.168.0.1: icmp_req=4 ttl=64 time=0.048 ms
^C
--- 192.168.0.255 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.044/0.045/0.048/0.008 ms


takze to "ide"

ale co nechapem je, ze ked si zapnem tcpdump a idem pozriet ci to na tu alias sietovku fakt chodi, tak to nic nevypisuje, viac konkretne:
Kód: [Vybrat]
ping -I 192.168.0.1 192.168.0.2
Kód: [Vybrat]
sudo tcpdump -i eth0:0 -p icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0:0, link-type EN10MB (Ethernet), capture size 65535 bytes

a este, nemal by ten broadcastovy ping nejako striedavo vypisovat pingy zo vsetkych ipciek v sieti? teda tak ja chapem broadcasting, preco to pise len 192.168.0.1?

diky za pomoc