ping: bad Interface address

coop

Active Member
Huhu

ich habe da gerade nen ganz blödes Problem...
also vorerst, ich bin eher Linux user und versuche mich erst seit nem Monat mit OpenBSD... ist nen ganz nettes Spielzeug :) aber einige Sachen funktionieren bei mir immer mal nich.. :(

darum frag ich hier mal, vielleicht kann mir ja jemand sagen, wo genau ich zu blöd bin :P

Also, ich versuche einen Ping über ein bestimmtes Interface zu machen:

Code:
ping -I em3

und zurück kommt die FM:

Code:
ping: bad interface address: em3

meine ifconfig:

Code:
em0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:9a:aa
        media: Ethernet autoselect (none)
        status: no carrier
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:9a:ab
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet6 fe80::215:17ff:fe0d:9aab%em1 prefixlen 64 scopeid 0x2
        inet 192.168.41.55 netmask 0xffff0000 broadcast 192.168.255.255
em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:96:f0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 172.16.97.1 netmask 0xffffff00 broadcast 172.16.97.255
        inet6 fe80::215:17ff:fe0d:96f0%em2 prefixlen 64 scopeid 0x3
em3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:96:f1
        media: Ethernet autoselect (1000baseT full-duplex,master,rxpause,txpause)
        status: active
        inet 192.168.12.10 netmask 0xffff0000 broadcast 192.168.255.255
        inet6 fe80::215:17ff:fe0d:96f1%em3 prefixlen 64 scopeid 0x4
enc0: flags=0<> mtu 1536
bnx1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:13:72:f9:8e:44
        media: Ethernet autoselect (none)
        status: no carrier
bnx0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:13:72:f9:8e:46
        media: Ethernet autoselect (none)
        status: no carrier
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33204
        groups: pflog

also das Interface gibt es, warum meckert er da rum??

wird der Befehl unter BSD anders gehandhabt??

Vielen Dank für eure Hilfe :)

coop
 
Ich habe vom Aufbau von Netzmasken und IP-Adressen nicht die riesen Ahnung. Aber mir fällt die broadcast-Adresse auf. Sollte diese nicht 192.168.12.255 lauten?

HTH
 
@ morromett

ja, die man sagt das gleiche, und das hatte ich auch probiert. (und gleich nochmal) da kommt
Code:
usage: ping [-DdfLnqRrv] [-c count] [-I ifaddr] [-i wait]
        [-l preload] [-p pattern] [-s packetsize] [-T tos] [-t ttl]
        [-w maxwait] host

was ja auch klar ist, schliesslich steht da, das ich das Interface eingeben soll.

Auf meiner Debian Maschine funktioniert der Ping befehl so, wie ich es versucht habe (also dort mit eth1) und der Ping Befehl ist doch eigentlich der gleiche?? Oder??

@ Columbo0815

nein, die IPs und SNs passen so schon, ich habe das Klasse C Netz "aufgebohrt" auf ein /16ner (siehe MASK) wie das FreeBSDuser schon richtig erkannt hat ;) daran sollte es nicht liegen, schliesslich funktioniert der ganze Rest ja (Lastverteilung, PF...)

Schonmal vielen Dank für die Lösungen, hat vielleicht noch jemand einen Vorschlag??

btw. Ich versuche eigentlich nur jede minute einen Ping auf 2 Interfaces abzulassen, um herraus zu bekommen, ob die beide noch UP sind. Mein Hintergedanke dabei:
wenn em3 dosn ist, wird die default route auf em1 gelegt (fallback) via Lastverteilung kann ich es nicht machen, da das eine eine Standleitung, und das andere "nur" eine DSL leitung ist ;)
Vielleicht hat auch hier jemand einen besseren Vorschlag (aber das nur am rande, wegen offTopic.. mach sicher deswegen nochmal einen anderen Fred auf ;) )

coop
 
@ morromett

ja, die man sagt das gleiche, und das hatte ich auch probiert. (und gleich nochmal) da kommt
Code:
usage: ping [-DdfLnqRrv] [-c count] [-I ifaddr] [-i wait]
        [-l preload] [-p pattern] [-s packetsize] [-T tos] [-t ttl]
        [-w maxwait] host

was ja auch klar ist, schliesslich steht da, das ich das Interface eingeben soll.

Nöö, da steht, dass du die ifaddr eingeben sollst. Das ist eine Adresse, an der das Interface erkannt werden kann. Die Zieladdresse musst Du natürlich auch noch angeben:

ping -I 192.168.12.10 192.168.12.1

(Mal vorausgesetzt, dass 192.168.12.1 existiert und wach ist.)

btw. Ich versuche eigentlich nur jede minute einen Ping auf 2 Interfaces abzulassen, um herraus zu bekommen, ob die beide noch UP sind. Mein Hintergedanke dabei:
wenn em3 dosn ist, wird die default route auf em1 gelegt (fallback) via Lastverteilung kann ich es nicht machen, da das eine eine Standleitung, und das andere "nur" eine DSL leitung ist ;)
Vielleicht hat auch hier jemand einen besseren Vorschlag (aber das nur am rande, wegen offTopic.. mach sicher deswegen nochmal einen anderen Fred auf ;) )

coop

Dafür gibt es Route-Prioritäten.
 
@ Schläfer

ping -I 192.168.12.10 192.168.12.1

jou, danke, das funktioniert :) allerdings funktioniert es mit dem Interfacenamen bei mir unter Debian, man ping ist der selbe eintrag :(
naja, aber so gehts auch, danke :)

Dafür gibt es Route-Prioritäten.

aber wie gebe ich 2 default routen mit verschieden Prioritäten ein??
bei mir kommt immer der fehler
Code:
add net default: gateway : file exists
normale routen ja, das bekomm ich hin, aber bei default fehlt mir das wissen :(

danke schonmal :)

coop
 
@ Schläfer



jou, danke, das funktioniert :) allerdings funktioniert es mit dem Interfacenamen bei mir unter Debian, man ping ist der selbe eintrag :(
naja, aber so gehts auch, danke :)

Tjaa, nur bei OpenBSD steht halt drauf, was auch wirklich drinsteckt.
Und umgekehrt.

aber wie gebe ich 2 default routen mit verschieden Prioritäten ein??
bei mir kommt immer der fehler
Code:
add net default: gateway : file exists
Bei mir nicht.
Nix für ungut, aber eine Fehlermeldung ohne den zugehörigen Befehl ist ähnlich wertvoll wie ein schlichtes "proggi tutnix!!!!"

normale routen ja, das bekomm ich hin, aber bei default fehlt mir das wissen :(

Die default-Route ist eine normale Route. Sie erfasst halt nur alles, was die anderen Routen nicht treffen.

ahh, -mpath is das Zauberwort :P

Nee, für deinen Fall eher nicht.
Etwas wie:

route add -priority 12 default 192.168

sollte eigentlich tun.
 
Hmm, das is genau was ich gesucht habe, vielleicht. Sehe ich das richtig, dass die Route mit niedriger Priorität benutzt wird, wenn die mit der höheren nicht mehr verfügbar ist (aka. Kabel raus oder WLAN weg) ? - Ich wollte mir soetwas für meinen Laptop einrichten.
 
Gute Frage, die manpage schweigt sich dazu aus.
Ich glaube eher andersrum (kleiner Zahlwert==hohe Prio), aber wirklich testen kann ich das hier nicht.

Wer als letzter einen route(8)-man-diff an bugs@ schickt ist ein lahmer Pinguin!
 
@ Schläfer, erstmal danke, ich versuch mir mal ne Testumgebung aufzubauen.. is gar nich so einfach, brauche erstmal technik ;)

@ FreeBSDuser.. ich glaube auch, je tiefer die prio umso "wichtiger" ist die Route

wozu genau istz dann das -mpath da??
da steht doch "multiple gateways to the same destination"
so ganz schlau werd ich da nicht aus der man, wie genau das dann gehandhabt wird... :(
kannmir jemand weiter helfen?? :)

coop
 
Und weiter steht da:

When multiple routes exist for a destination, one route is selected based on the source address of the packet.

Vergiss mpath, das hat mit deinem Problem nichts zu tun.
 
ja, ich versuche es schon mit der Prio, muss halt nbur noch bissl an meinem Testnetz arbeiten, das es auch "real" wirkt...

naja, und was heisst das dann nun genau??
ich hätte da mehrere Interpretationsansätze, wie ich auf basis einer Source-Adress routen könnte.
Auch wenn ich es jetzt gerade nicht gebrauchen kann interessiert es mich, vielleicht wäre es für spätere projekte hilfreich...

danke coop
 
Bei mir nicht.
Nix für ungut, aber eine Fehlermeldung ohne den zugehörigen Befehl ist ähnlich wertvoll wie ein schlichtes "proggi tutnix!!!!"



Die default-Route ist eine normale Route. Sie erfasst halt nur alles, was die anderen Routen nicht treffen.



Nee, für deinen Fall eher nicht.
Etwas wie:

route add -priority 12 default 192.168

sollte eigentlich tun.

So, btw. was eine default route ist, weiss ich schon, allerdings die Handhabe mit OpenBSD ist mir, neu.

nun meine nächste Frage
@ Schläfer, hast du es auf diesen Weg selbst schon gemacht??

Code:
# route add -priority 12 default 192.168.1.245
route: writing to routing socket: File exists
add net default: gateway 192.168.1.245: File exists
kommt da bei mir,

ich dachte auch irgendwo gelesen zu haben, das OpenBSD mit 2 default gateways nicht zurecht kommt, deshalb dachte ich an ein Skript.
läuft es bei dir? wenn ja würde ich mich über den genauen Befehl freuen :) (und ggf. einschränkungen)

danke Coop
 
Code:
# route add -priority 12 default 192.168.0.3
add net default: gateway 192.168.0.3
# route -n show
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            x.x.x.x      UGS        1    55924     -     8 tun0
default            192.168.0.3        UGS        0        0     -    12 ale0
127/8              127.0.0.1          UGRS       0        0 33204     8 lo0
127.0.0.1          127.0.0.1          UH         1    29161 33204     4 lo0
192.168.0/24       link#1             UC         1        0     -     4 ale0
192.168.0.3        link#1             UHLc       1        0     -     4 ale0
x.x.x.x            y.y.y.y    UH         1       21  1400     4 tun0
224/4              127.0.0.1          URS        0        0 33204     8 lo0

Ob das wirklich funktioniert, kann ich mangels Verbindung nicht testen, wie gesagt.
File exists heisst: die route existiert schon. Was sagt
route -n show
bei dir?
 
hmm, bei mir geht genau das nicht...
was hast du den eigentlich für eine Version, oder hast du noch etwas hinzu istalliert??

hier mal mein Output
Code:
 # route -n show
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            192.168.1.245      UGS        0        2     -    48 em3
127/8              127.0.0.1          UGRS       0        0 33204    48 lo0
127.0.0.1          127.0.0.1          UH         1        0 33204    48 lo0
172.16.97/24       link#3             UC         0        0     -    48 em2
172.16.98/24       link#2             UC         2        0     -    48 em1
172.16.98.2        00:15:17:0d:9a:ab  UHLc       0        0     -    48 lo0
172.16.98.4        link#2             UHLc       0        0     -    48 em1
192.168/16         link#4             UC         5        0     -    48 em3
192.168.1.245      02:e0:52:09:11:01  UHLc       1        0     -    48 em3
192.168.1.254      00:50:56:b0:18:54  UHLc       0       12     -    48 em3
192.168.2.26       00:30:05:ba:b0:37  UHLc       1      302     -    48 em3
192.168.30.93      00:11:25:47:73:bc  UHLc       0        0     -    48 em3
192.168.255.252    00:12:f2:c6:28:00  UHLc       0        0     -    48 em3
224/4              127.0.0.1          URS        0        0 33204    48 lo0
Code:
# ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33204
        groups: lo
        inet 127.0.0.1 netmask 0xff000000
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
em0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:9a:aa
        media: Ethernet autoselect (none)
        status: no carrier
em1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:9a:ab
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 172.16.98.2 netmask 0xffffff00 broadcast 172.16.98.255
        inet6 fe80::215:17ff:fe0d:9aab%em1 prefixlen 64 scopeid 0x2
em2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:96:f0
        media: Ethernet autoselect (1000baseT full-duplex,rxpause,txpause)
        status: active
        inet 172.16.97.1 netmask 0xffffff00 broadcast 172.16.97.255
        inet6 fe80::215:17ff:fe0d:96f0%em2 prefixlen 64 scopeid 0x3
em3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:15:17:0d:96:f1
        groups: egress
        media: Ethernet autoselect (1000baseT full-duplex,master,rxpause,txpause)
        status: active
        inet 192.168.12.10 netmask 0xffff0000 broadcast 192.168.255.255
        inet6 fe80::215:17ff:fe0d:96f1%em3 prefixlen 64 scopeid 0x4
enc0: flags=0<> mtu 1536
bnx1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:13:72:f9:8e:44
        media: Ethernet autoselect (none)
        status: no carrier
bnx0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:13:72:f9:8e:46
        media: Ethernet autoselect (none)
        status: no carrier
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33204
        groups: pflog

und nun der magische augenblick
Code:
# route add -priority 12 default 172.16.98.4
route: writing to routing socket: File exists
add net default: gateway 172.16.98.4: File exists
# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            192.168.1.245      UGS        0        2     -    48 em3
127/8              127.0.0.1          UGRS       0        0 33204    48 lo0
127.0.0.1          127.0.0.1          UH         1        0 33204    48 lo0
172.16.97/24       link#3             UC         0        0     -    48 em2
172.16.98/24       link#2             UC         2        0     -    48 em1
172.16.98.2        00:15:17:0d:9a:ab  UHLc       0        0     -    48 lo0
172.16.98.4        link#2             UHLc       0        0     -    48 em1
192.168/16         link#4             UC         5        0     -    48 em3
192.168.1.245      02:e0:52:09:11:01  UHLc       1        0     -    48 em3
192.168.1.254      00:50:56:b0:18:54  UHLc       0       12     -    48 em3
192.168.2.26       00:30:05:ba:b0:37  UHLc       1     1050     -    48 em3
192.168.30.93      00:11:25:47:73:bc  UHLc       0        0     -    48 em3
192.168.255.252    00:12:f2:c6:28:00  UHLc       0        0     -    48 em3
224/4              127.0.0.1          URS        0        0 33204    48 lo0

woran liegt es?? ich habe OpenBSD4.4

die restlichen routen sind default bei mir, habsch also nix dran eingestellt...
 
Bei mir läuft -current.
Hmm, ich sehe gerade...

http://www.openbsd.org/cgi-bin/cvsweb/src/sys/net/route.c

Revision 1.95
force route priority to RTP_DEFAULT unconditionally, effectively disabling route prios. playing safe for 4.4-release, as not all parts of the system deal correctly with route prios yet. ok claudio

Mit anderen Worten, im 4.4-release ist die doku etwas vorlaut, das funktioniert nicht wie beschrieben.
Bleibt dir wohl nur ein update auf current o. 4.5
 
hmm, naja, irgendwas is ja immer...

wobei, steht der Schalter -priority bei dir direkt in der man route??

bei mir nämlich nich.. :(

dann werd ich morgen mal gucken, hab mich mit current noch gar nich beschäftig, was da die vorteile/nachteile sind... muss ich mal schauen :)

danke dir aber trotzdem erstmal :)
 
mal noch eine ganz blöde frage am rande

wie man die normalen -stable updated habe ich schon hinbekommen, aber wie ist das mit der current??

ich habe mich jetzt an die anleitung hier gehalten

geht das bei der current genauso?? :confused:

wie gesagt, ich nutze bsd noch nich lange :(

danke coop
 
jou, danke, das funktioniert :) allerdings funktioniert es mit dem Interfacenamen bei mir unter Debian, man ping ist der selbe eintrag :(
naja, aber so gehts auch, danke :)

GNU ist halt nicht gerade für gute Doku bekannt. Dass da einiges anders funktioniert als es soll ist da kein Wunder.
 
So, da isser mal wieder :) altes problem....

also, meine routen mit prioritäten habe ich hinbekommen....
stehen auch ordentlich in meiner routingtabelle :)

also wolltsch auch mal testen, ob der umschaltet....

habe ich den Steckler vom Gateway rausgezogen... und, nix geht mehr.. er schwänkt nicht um....

mit "route get" sehe ich auch immernoch das Gateway mit der geringeren Priorität... ich habe es nicht geschafft umzuschwänken.. auch nicht nachdem ich das gateway down gesetzt habe (also das mit der geringeren Prio)

Code:
# netstat -rn                                                                                                                                              
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio Iface
default            172.16.241.1       UGS        0      320     -     8 vic1
default            172.16.240.1       UGS        0        0     -    12 vic0

Code:
vic0: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:d2:67:5b
        priority: 0
        media: Ethernet autoselect
        status: active
        inet6 fe80::20c:29ff:fed2:675b%vic0 prefixlen 64 scopeid 0x1
        inet 172.16.240.36 netmask 0xffffff00 broadcast 172.16.240.255
vic1: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        lladdr 00:0c:29:d2:67:65
        priority: 0
        groups: egress
        media: Ethernet autoselect
        status: no carrier
        inet6 fe80::20c:29ff:fed2:6765%vic1 prefixlen 64 scopeid 0x2
        inet 172.16.241.36 netmask 0xffffff00 broadcast 172.16.241.255

Code:
# route get 141.1.1.1
   route to: 141.1.1.1
destination: default
       mask: default
    gateway: 172.16.241.1
  interface: vic1
 if address: 172.16.241.36
   priority: 8 (static)
      flags: <UP,GATEWAY,DONE,STATIC>
     use       mtu    expire
     320         0         0
 
Zurück
Oben