Pomoc Konfiguracja sieci - dziwna różnica między ustawieniami systemu a QVS

kaugustyn

Moderator
Q's Excellence
27 Styczeń 2014
62
32
18
QNAP
TS-x79 Pro
Ethernet
10 GbE
Witajcie
Mam dziwny problem z siecią, i nie do końca jestem pewien czy to kwestia QVSa czy samego Qnapa...
Mam w sumie sześć interfejsów sieciowych, dwa wbudowane pracują jako agragat LACP - administracja, nas i inne usługi. Cztery kolejne działały jako dedykowane do QVSa, ale dwa dni temu coś się pochrzaniło - jedna z maszyn zgubiła swój interfejs. Zdziwiłem się zaglądając do konfiguracji QVSa, ponieważ zamiast 4 interfejsów zobaczyłem 3, z czego jeden to widoczny poniżej "Ethernet 3+4"

Obecnie przy konfiguracji sieci dla QVSa mam taką sytuację :

upload_2015-2-16_19-7-55.png

Screen sugeruje, że 3+4 to agragat, ale nie jest to prawdą, ponieważ agregatem jest 1+2 :

upload_2015-2-16_19-9-42.png

Pierwotnie obwiniłem QVSa i dlatego też tutaj moja prośba o pomoc, chociaż mam wątpliwości - przeinstalowałem QVSa od zera, skasowałem pozostałości (chyba wszystkie) i po ponownej instalacji mam to samo co wcześniej. Restart QNAPa też robiłem, sytuacja bez zmian...

Czy ktoś się może spotkał z takim zachowaniem ?
Ja po dwóch dniach walki chwilowo się poddałem, ale strasznie mnie to wkurza, dodatkowo zatrzymałem całe środowisko QVS i do momentu rozwiązania problemu nie bardzo chcę je uruchamiać ze względu na ew. grzebanie w konfiguracji.

Będę wdzięczny za wszelkie sugestie
August
 
Glupia sugestia typu ON/OFF - wyjmij karte wlacz Qnap'a - system przemieli, ze ma 1 sieciowke (2 aggregated interfejsy)
wylacz i zainstaluj karte i wlacz Qnap'a i daj systemowi przemieli i zobacz co wykryje.
Pomysl typowy z Windy z Linuxem ... nie wiem czy zadziala.
entualnie podmien sieciowke na inna (orginalna qnap'a 2 portowa) i wroc do orginalnej (nowej) (tej co masz teraz - 4 portowej)
 
Pomysł niegłupi ale na początek zrób to co ja zrobiłem u siebie bo też jakieś cyrki mi wychodziły.
Wywal agregację całkowicie z 1+2 i zrestartuj Qnapa, po uruchomieniu ustaw na nowo swoje interfejsy.
 
Dzięi za sugestie, chyba w pierwszej kolejności wywalę agregat, a jak nie pomoże to wyjmę sieciówkę. Jak to mawiają - zacznij od podstaw :)
Swoją drogą w życiu nie widziałem podobnego problemu na "normalnych" systemach :)
Zaraz zadziałam i dam znać jaki był rezultat

Edit:
No to jest dziwnie...
Trunk wykonfigurowany, reboot - QVS "widzi" wszystkie 6 interfejsy sieciowe poprawnie.
Trunk skonigurowany, reboot - sytuacja wraca do takiej jak opisywałem jako problematyczna.
Trunk wykonfigurowany, reboot, shutdown, karta wyjęta, poweron, reboot, karta włożona - QVS "widzi" wszystkie 6 interfejsy sieciowe poprawnie.
Trunk skonigurowany, reboot, wrrrrrrrrr....

Edit2:
Pogrzebałem w pliku konfiguracyjnym ( /mnt/HDA_ROOT/.config/uLinux.conf ) i znalazlem problematyczną konfigurację. W domyślnej konfiguracji są definicje dla dwóch trunków - bond0 i bond1. Standardowo miały one w konfiguracji :
Bash:
Bonding Mode = 1
Configure = False
Use DHCP = TRUE
Usage = DHCP
IP Address = 169.254.100.100
Subnet Mask = 255.255.0.0
Broadcast = 192.168.255.255
Gateway = 169.254.100.100
Speed = auto
MTU = 1500
Po skonfigurowaniu trunka moja konfiguracja zmieniła się na :
Bash:
[bond0]
Bonding Mode = 4
Configure = TRUE
Use DHCP = False
Usage = STATIC
IP Address = 192.168.100.100
Subnet Mask = 255.255.255.0
Broadcast = 192.168.100.255
Gateway = 192.168.100.1
Speed = auto
MTU = 9000
Bonding Member = 0,1
Bonding Index = 1
vlan_id = 0
vlan_enable = False

[bond1]
Bonding Mode = 1
Configure = FALSE
Use DHCP = False
Usage = STATIC
IP Address = 0.0.0.0
Subnet Mask = 0.0.0.0
Broadcast = 192.168.255.255
Gateway = 0.0.0.0
Speed = auto
MTU = 1500
Bonding Member = 2,3
Bonding Index = 2
Wystarczyło usunąć powyższe dwie linijki:
Bash:
Bonding Member = 2,3
Bonding Index = 2
reboot i na chwilę obecną wszystko jest ok. Nie mam jednak pewności czy po jakiejkolwiek zmianie konfiguracji sieci problem nie wróci - ale to czas pokaże.

I jeszcze jedno - jakby się komuś zachciało grzebać we wskazanym pliku, ostrzegam że może się to skończyć resetm do ustawień domyślnych

Pozdrowienia dla wszystkich użyszkodników :)
 
  • Wow
Reakcje: Paweł Tołoczko
OK, ale chciałbym ten temat pociągnąć dalej. Piszesz, że masz 6xGbe, czyli tak jak ja :) a idąc dalej nie masz oryginalnej karty Qnapa (bo ten oferuje jedynie 2xGbe). Czy w związku z tym możesz mi sprawdzić jak ładują ci się interfejsy z płyty głównej ? U mnie wskakują jako Eth 5 i 6 co pociąga za sobą kilka nieprzyjemnych konsekwencji.
 
mariuszsal, zgadza się, mam jakąś czteroportową katrę opartą o układy Intela :)
U mnie oryginalne interfejsy ładują się jako eth0 i eth1. Za to dodatkowe 4 jako eth2-5. Normalnie dla Twojego przypadku napisłabym "użyj reguł persistent dla udev" ale tutaj nie mamy takiich plików konfiguracyjnych. Nie wiem dlaczego tak Ci się to przestawiło, natomiast ja bym zrobił tak :
1. logowanie via ssh do QNAPa
2. wydanie polecenia dla każego z interfejsów :
Kod:
udevadm info -a -p /sys/class/net/eth0 | grep address
- to tak żeby się upewinć co do kwestii mac adresów
3. sprawdzenie we wspomnianym pliku
Kod:
/mnt/HDA_ROOT/.config/uLinux.conf
interfejsy i ich mac adresy. Każda sekcja [ethx] powinna mieć swój mac addres.

Kod:
[eth0]
Configure = TRUE
Use DHCP = False
Usage = STATIC
IP Address = 192.168.100.100
Subnet Mask = 255.255.255.0
Broadcast = 192.168.100.255
Gateway = 192.168.100.1
Speed = auto
MTU = 1500
Mac Addresss = 00:08:9b:d7:5f:58

Zamieniasz sobie "z palca" mac adresy eth0 i eth5, reboot i sprawdzasz czy zadziała. Trochę zamieszania, ale ja po ostatnich zmaganiach chyba bym tak do tego podszedł. Nie gwarantuję sukcesu, ale jest szanasa że to będzie Pan zadowolony :)

Daj znać jak to ew. przetestujesz.
 
  • Lubię to
Reakcje: 1 osoba
No dzięki, ale już to testowałem. Po grzebaniu w udev i ustawianiem persistent zakończyło się tym, że po raz kolejny wyłożyłem DOM :)
Niestety uLinux.conf jest nadpisywany przez
Kod:
/etc/init.d/network.sh
więc jakakolwiek zmiana w nim, zwłaszcza odnośnie interfejsów ginie po reboocie.
Na razie się poddałem bo nie wiem gdzie szukać dalej.
PS
Jeszcze jedno pytanie, stawiałeś serwer z kartą czy dokładałeś ją już w trakcie ?
 
Za pierwszym razem w trakcie, a później różne cuda robiłem łącznie z testami 10G. Faktycznie masz niezłą zagwozdkę :) Jeszcze jeden pomysł mi przyszedł do głowy, możliwe że Twoja dodatkowa karta ma wcześniejszą pulę mac adresów ? To też ma znaczenie, przynajmniej w niektórych przypadkach.
 
Kurde, zaciekawiłeś mnie, jutro spojrzę w pracy jak to wygląda na dużych maszynach z kilkonastoma interfejsami i też "rzeźbionym" linuxem na pokładzie :)
 
Gdzies tam wyczytalem, ze taka komenda powinna zmienic adres MAC:
Bash:
setcfg eth0 "Mac Address" 00:08:9b:d7:0e:e4
i zobaczyc co wyjdzie :)
Guru z linuxa nie jestem, ale teoretycznie powinno podmienic MACa tylko, nie wiem czy po restarcie zostanie nowy offset zapamietany.
Znalazlem jeszcze cos:
https://blog.sleeplessbeastie.eu/2013/01/11/how-to-change-the-mac-address-of-an-ethernet-interface/ napisał:
Change the MAC address of an Ethernet interface temporarily
Check MAC addresses:
Bash:
$ ifconfig -a | awk '/HWaddr/ {print "Interface: " $1 "\t MAC: " $NF}'
Interface: eth0	 MAC: 08:00:27:2c:a4:69
Interface: eth1	 MAC: 08:00:27:9a:21:24
Shut down desired Ethernet interface (eth0 in this example):
Bash:
$ sudo ifconfig eth0 down
Specify new MAC address:
Bash:
$ sudo ifconfig eth0 hw ether 08:00:00:00:00:01
Activate modified Ethernet interface:
Bash:
# ifconfig eth0 up
Verify changed MAC address:
Bash:
$ ifconfig -a | awk '/HWaddr/ {print "Interface: " $1 "\t MAC: " $NF}'
Interface: eth0	 MAC: 08:00:00:00:00:01
Interface: eth1	 MAC: 08:00:27:9a:21:24
This change is not permanent as the MAC address on the interface eth0 will revert to the default on next system reboot.

Change the MAC address of an Ethernet interface permanently
To permanently change MAC address of an Ethernet interface you need to edit /etc/network/interfaces configuration file and use hwaddress directive:
Bash:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Network interfaces
allow-hotplug eth0
iface eth0 inet dhcp
hwaddress ether 08:00:00:00:00:01

allow-hotplug eth1
iface eth1 inet dhcp
Reboot or reconfigure network interfaces by hand:
Bash:
$ sudo service networking restart
[code]
[SIZE=4][B]MAC Changer[/B][/SIZE]
[URL='http://www.alobbs.com/macchanger']MAC Changer[/URL] is a utility for viewing/manipulating the MAC address of network interfaces.

Install it using command:
[code="bash"]
$ sudo apt-get install macchanger
Set random vendor MAC address of the same kind:
Bash:
$ sudo macchanger -a eth0
Permanent MAC: 84:8f:69:b0:fa:0a (unknown)
Current MAC: 84:8f:69:b0:fa:0a (unknown)
New MAC: 00:0e:37:5b:d7:31 (Harms & Wende Gmbh & Co.kg)
Set random vendor MAC address of any kind:
Bash:
$ sudo macchanger -A eth0
Permanent MAC: 84:8f:69:b0:fa:0a (unknown)
Current MAC: 00:0e:37:5b:d7:31 (Harms & Wende Gmbh & Co.kg)
New MAC: 00:24:18:22:02:4b (Nextwave Semiconductor)
Set specific MAC address:
Bash:
$ sudo macchanger -m 02:02:02:00:00:01 eth0
Permanent MAC: 84:8f:69:b0:fa:0a (unknown)
Current MAC: 00:24:18:22:02:4b (Nextwave Semiconductor)
New MAC: 02:02:02:00:00:01 (unknown)
Set fully random MAC:
Bash:
$ sudo macchanger -r eth0
Permanent MAC: 84:8f:69:b0:fa:0a (unknown)
Current MAC: 02:02:02:00:00:01 (unknown)
New MAC: f6:61:c0:6a:14:66 (unknown)
Set another MAC address of the same vendor:
Bash:
$ sudo macchanger -e eth0
Permanent MAC: 84:8f:69:b0:fa:0a (unknown)
Current MAC: f6:61:c0:6a:14:66 (unknown)
New MAC: f6:61:c0:53:a0:5f (unknown
Revert to the default MAC address:
Bash:
$ sudo macchanger -p eth0
Permanent MAC: 84:8f:69:b0:fa:0a (unknown)
Current MAC: f6:61:c0:53:a0:5f (unknown)
New MAC: 84:8f:69:b0:fa:0a (unknown)
Display a vendor MAC address list to choose from
Bash:
$ macchanger -l
Misc MACs:
Num MAC Vendor
--- --- ------
0000 - 00:00:00 - Xerox Corporation
0001 - 00:00:01 - Xerox Corporation
0002 - 00:00:02 - Xerox Corporation
0003 - 00:00:03 - Xerox Corporation
0004 - 00:00:04 - Xerox Corporation
0005 - 00:00:05 - Xerox Corporation
0006 - 00:00:06 - Xerox Corporation
0007 - 00:00:07 - Xerox Corporation
0008 - 00:00:08 - Xerox Corporation
0009 - 00:00:09 - Xerox Corporation
0010 - 00:00:0a - Omron Tateisi Electronics Co.
0011 - 00:00:0b - Matrix Corporation
0012 - 00:00:0c - Cisco Systems, Inc.
0013 - 00:00:0d - Fibronics Ltd.
0014 - 00:00:0e - Fujitsu Limited
0015 - 00:00:0f - Next, Inc.
0016 - 00:00:10 - Sytek Inc.
[...]
Common problems

Bash:
$ ifconfig eth0 hw ether 02:00:01:00:00:02
SIOCSIFHWADDR: Operation not permitted
You need root permissions to alter network interface.
Bash:
$ sudo ifconfig eth0 hw ether 02:00:00:10:10:10
SIOCSIFHWADDR: Device or resource busy - you may need to down the interface
Shut down the network interface first.
Bash:
$ sudo ifconfig eth0 hw ether 01:00:00:10:10:10
SIOCSIFHWADDR: Cannot assign requested address
This is not an unicast address as the first octet needs to be even. Look at the image below to understand it better. This image is from Wikipedia - MAC address page and licensed under the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.
upload_2015-2-17_22-4-23.png
 
Paweł, ale to zmienia mac dla istniejącej karty, w ten sposób możesz łatwo sklonować mac adres - przydaje się w routerach u operatorów który wykorzystują różne sztuczki żeby użytkowiniwi było "łatwiej" :)

W sumie, tak jak zauważył mariuszsal, kolejność ładowania modułów ma też ogromne znaczenie. Mac adresy będą miały swoją chwilę w momencie inicjalizacji sterownika dla kliku takich samych interferjsów, które ten sterownik obsłuży. Przed chwilą to sprawdziłem, przy 12 interfejsach na jednej maszynie ( 3 x 4porty ) numeracja idzie od najmłodszego do najstarszego mac adresu. Przy różnych sterownikach/modułach kernela wagę będzie miało to, który moduł zostanie pierwszy zainicjalizowany.
Swoją drogą patrząc na swoje wcześniejsze wywody dochodzę do wniosku że rutyna zabija, po woli ale zabija :D
 
  • Lubię to
Reakcje: Paweł Tołoczko
Dzieki Paweł, ale get i setcfg dokonują podmiany we wspomnianym uLinux.conf co w moim przypadku się nie sprawdza :/ bo po reboocie system zamienia na poprawne adresy mac do załadowanych interfejsów.
Najgorsze, że to niby Linux ale wszystko jest inaczej :p
 
  • Lubię to
Reakcje: Paweł Tołoczko