FreeBSD i zabawy z ifconfig
Podstawowym zadaniem serwerow jest komunikacja wszelkiego rodzaju. Zwykle przez interface sieciowy. Interface to najniższa warstwa sprzętowa służąca do kumunikacji. Dlatego warto zainteresować się podstawowymi i nie tylko poleceniami i operacjami na interfacach (oczywiście mowa będzie o FreeBSD ). Skupię się tutaj na typach mediów bo właśnie ostatnio z nimi miałem problem.
Zobaczmy najpierw listę dostępnych interfaców:
diablo# ifconfig -a
fxp0: flags=8843 metric 0 mtu 1500
options=8
ether 00:d0:b7:65:dd:64
inet 192.168.1.111 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX )
status: active
lo0: flags=8049 metric 0 mtu 16384
inet 127.0.0.1 netmask 0xff000000
Jak widać mamy jeden interface fizyczny (fxp0) który ma adres 192.168.1.111 oraz pracuje w trybie 100baseTX który został wybrany automatycznie. Popatrzmy zatem na inną maszynę
szaka# ifconfig -a
bge0: flags=8843 mtu 1500
options=1b
inet 195.242.117.16 netmask 0xffffff00 broadcast 195.242.117.255
inet 195.242.117.17 netmask 0xffffffff broadcast 195.242.117.17
ether 00:06:5b:38:fc:b3
media: Ethernet 100baseTX
status: active
fxp0: flags=8802 mtu 1500
options=8
ether 00:06:5b:38:fc:b2
media: Ethernet autoselect (none)
status: no carrier
plip0: flags=108810
mtu 1500
lo0: flags=8049 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
Druga maszyna wygląda ciekawiej, ma dwa interface sieciowe (bge0, fxp0) oraz jak widać pojawia się tutaj coś związanego z ipv6. Wcześniejszy system miał przekompilowane jądro bez obsługi ipv6.
Ok, tyle teorii a teraz trochę praktyki:
ifconfig -m bge0
– wyświetli nam listę typów mediów jakie są obsługiwane
bge0: flags=8843 mtu 1500
options=1b
capabilities=1b
inet 195.242.117.16 netmask 0xffffff00 broadcast 195.242.117.255
inet 195.242.117.17 netmask 0xffffffff broadcast 195.242.117.17
ether 00:06:5b:38:fc:b3
media: Ethernet 100baseTX
status: active
supported media:
media autoselect
media 1000baseTX mediaopt full-duplex
media 1000baseTX
media 100baseTX mediaopt full-duplex
media 100baseTX
media 10baseT/UTP mediaopt full-duplex
media 10baseT/UTP
media none
Czyli jak widać mamy tutaj wszystko co dusza zapragnie 🙂 Teraz możemy zmienić typ:
ifconfig bge0 media 100baseTX mediaopt full-duplex
tak aby nasza karta sieciowa nie wybierała sobie sama typu połączenia, tylko na sztywno.
Jeżeli ta operacja rozwiąże nasze problemy z kartą sieciową, to warto dodać sobie ten wpis na stałe do /etc/rc.conf
ifconfig_bge0="inet 195.242.117.16 netmask 255.255.255.0 media 100baseTX mediaopt full-duplex"
Więcej informacji można znaleźć na tej stronie