LX-INL-INFO-net-mint9
updated sep/24/2010 15:30
Manuele netwerkconfig Linux Mint 9
Als we van Linux Mint 9 (ubuntu10.04) een server willen maken, is het noodzakelijk met vaste ip-adressen te werken. De GUI configurator, NetworkManager, laat dit toe. Die heeft echter een onhebbelijkheid: de netwerkconfiguratie wordt pas actief na inloggen.
Dat kan natuurlijk niet. Services draaien altijd op de achtergrond, en wachten op netwerk-clients calls. Op servers wordt alleen ingelogd als je het systeem wil beheren, en dan meestal nog zonder GUI.
Een andere service, de avahi-daemon, probeert eveneens dynamisch de netwerkconfiguratie bij te stellen. En daar moeten we ook wat aan doen.
In wat volgt schakelen we avahi-daemon en NetworkManager uit, en maken we een manuele configuratie.
-
avahi-daemon en network-manager
-
rc.d scripts verwijderen
Verwijder de eventuele opstartscripts van avahi-daemon en network-manager:
(network-manager heeft een andere onhebbelijkheid het opstartscript heet network-manager in kleine letters en met een koppelteken, maar de binary heet NetworkManager - andere variaties zijn ook al gezien)
$ sudo update-rc.d -f network-manager remove
[sudo] password for jan:
Removing any system startup links for /etc/init.d/network-manager ...
$ sudo update-rc.d -f avahi-daemon remove
Removing any system startup links for /etc/init.d/avahi-daemon ...
Waarschijnlijk gebeurt er echter helemaal niets. Deze handeling werkt alleen bij sysV compatibele linux/unix systemen, en ubuntu en Mint hebben deze werkwijze definitief verlaten in oktober 2009.
-
upstart aanpassen
Mint9 werkt met het pakket upstart voor zijn servicebeheer.
upstart plaatst service-configuratiefiles in de directory /etc/init.
Daar moeten we avahi-daemon.conf en network-manager.conf ofwel verwijderen met rm, ofwel aanpassen met een editor.
Het eenvoudigst is deze compromisoplossing:
je maakt een parkeerdirectory aan:
$ sudo mkdir /etc/init.rm
om daarna de twee conf-files te parkeren met
$ sudo mv -v /etc/init/avahi-daemon.conf /etc/init.rm
$ sudo mv -v /etc/init/network-manager.conf /etc/init.rm
Als je de services later weer wil laten opstarten kun je ze terug verplaatsen naar hun originele directory. Of beter nog, een symbolic link ernaar laten verwijzen.
-
avahi-daemon en network-manager stoppen
Stop daarna avahi-daemon en NetworkManager:
$ sudo stop avahi-daemon
* Stopping Avahi mDNS/DNS-SD Daemon avahi-daemon [ OK ]
$ sudo stop network-manager
* Stopping network connection manager NetworkManager [ OK ]
-
ip-adres netmask gateway
De automatische configuratieservices zijn nu uitgezet. Nu kunnen we beginnen aan de manuele configuratie.
Pas de file /etc/network/interfaces aan, en voeg per netwerkkaart een blok toe zoals hieronder in vetjes.
$ sudo pico /etc/network/interfaces
|
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.35.45
netmask 255.255.255.0
gateway 172.16.35.254
|
-
DNS
Pas de file /etc/resolv.conf aan en vul de juiste nameserver in:
$ sudo pico /etc/resolv.conf
|
nameserver 172.16.35.101
search linux800.be
|
-
Herstart je netwerk
$ sudo /etc/init.d/networking restart
* Reconfiguring network interfaces... [ OK ]
* Stopping NTP server ntpd ...done.
* Starting NTP server ntpd ...done.
-
Test je ip-adres
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:60:08:56:b6:bf
inet addr:172.16.35.45 Bcast:172.16.35.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:739244 errors:0 dropped:0 overruns:0 frame:0
TX packets:147347 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:191700558 (182.8 MB) TX bytes:66834778 (63.7 MB)
Interrupt:19 Base address:0xb800
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:127 errors:0 dropped:0 overruns:0 frame:0
TX packets:127 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:102236 (99.8 KB) TX bytes:102236 (99.8 KB)
-
Test je router
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
172.16.35.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 172.16.35.254 0.0.0.0 UG 100 0 0 eth0
-
Test je DNS
$ ping google.be
PING google.be (74.125.79.99) 56(84) bytes of data.
64 bytes from ey-in-f99.1e100.net (74.125.79.99): icmp_seq=1 ttl=50 time=28.3 ms
64 bytes from ey-in-f99.1e100.net (74.125.79.99): icmp_seq=2 ttl=50 time=27.5 ms
of
$ dig
; <<>> DiG 9.4.2-P2 <<>>
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43971
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 9
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 16259 IN NS b.root-servers.net.
. 16259 IN NS e.root-servers.net.
. 16259 IN NS c.root-servers.net.
. 16259 IN NS m.root-servers.net.
. 16259 IN NS j.root-servers.net.
. 16259 IN NS i.root-servers.net.
. 16259 IN NS k.root-servers.net.
. 16259 IN NS f.root-servers.net.
. 16259 IN NS a.root-servers.net.
. 16259 IN NS d.root-servers.net.
. 16259 IN NS h.root-servers.net.
. 16259 IN NS l.root-servers.net.
. 16259 IN NS g.root-servers.net.
;; ADDITIONAL SECTION:
b.root-servers.net. 68485 IN A 192.228.79.201
m.root-servers.net. 49414 IN A 202.12.27.33
j.root-servers.net. 16259 IN A 192.58.128.30
i.root-servers.net. 16259 IN A 192.36.148.17
k.root-servers.net. 16259 IN A 193.0.14.129
f.root-servers.net. 16259 IN A 192.5.5.241
a.root-servers.net. 16259 IN A 198.41.0.4
d.root-servers.net. 16259 IN A 128.8.10.90
h.root-servers.net. 16259 IN A 128.63.2.53
;; Query time: 16 msec
;; SERVER: 172.16.35.101#53(172.16.35.101)
;; WHEN: Tue Aug 10 20:14:51 2010
;; MSG SIZE rcvd: 385
-
controle
De volgorde van de punten 2, 3, 4, 5 en 6 is belangrijk. Indien de network-manager niet is gestopt, kan die de dns settings in /etc/resolv.conf wijzigen en niet statische adressen toewijzen. Indien punt 2 niet goed werd uitgevoerd loop je kans na de volgende herstart weer de settings van network-manager terug te vinden.
Herstart daarom nu je systeem en controlleer nogmaals met ifconfig, route -n en dig of je settings correct staat.
Je kan nu met ps -A nakijken of avahi-daemon en network-manager werkelijk verdwenen zijn. (denk eraan dat het network-manager commando hoofdletters bevat /usr/sbin/NetworkManager )
$ ps -A | grep avahi
$ ps -A | grep etwork
In het hogere geval zijn beide processen onbestaand.
Tenslotte kun je nog het volgende commando intikken om zeker te zijn dat je network-manager en avahi-daemon uit de upstart configuratie zijn verdwenen: (in dit voorbeeld is de avahi-daemon verdewenen, en de network-manager niet gestart)
$ initctl list | sort
acpid start/running, process 1436
alsa-mixer-save stop/waiting
anacron stop/waiting
apport stop/waiting
atd start/running, process 1482
console-setup stop/waiting
control-alt-delete stop/waiting
cron start/running, process 1483
cryptdisks-enable stop/waiting
cryptdisks-udev stop/waiting
dbus start/running, process 1063
dmesg stop/waiting
ecryptfs-utils-restore stop/waiting
ecryptfs-utils-save stop/waiting
failsafe-x stop/waiting
gdm start/running, process 1067
hostname stop/waiting
hwclock-save stop/waiting
hwclock stop/waiting
irqbalance stop/waiting
module-init-tools stop/waiting
mountall-net stop/waiting
mountall-reboot stop/waiting
mountall-shell stop/waiting
mountall stop/waiting
mounted-dev stop/waiting
mounted-tmp stop/waiting
mounted-varrun stop/waiting
mysql start/running, process 1040
networking stop/waiting
network-interface (eth0) start/running
network-interface (eth1) start/running
network-interface (lo) start/running
network-interface-security start/running
network-interface (vboxnet0) start/running
network-manager stop/waiting
nmbd start/running, process 1867
plymouth-log stop/waiting
plymouth-splash stop/waiting
plymouth-stop stop/waiting
plymouth stop/waiting
procps stop/waiting
rcS stop/waiting
rc stop/waiting
rc-sysinit stop/waiting
rsyslog start/running, process 1049
smbd start/running, process 1034
ssh start/running, process 1897
tty1 start/running, process 1798
tty2 start/running, process 1429
tty3 start/running, process 1430
tty4 start/running, process 1410
tty5 start/running, process 1422
tty6 start/running, process 1432
udev-finish stop/waiting
udevmonitor stop/waiting
udev start/running, process 453
udevtrigger stop/waiting
ufw start/running
upstart-udev-bridge start/running, process 449
ureadahead-other stop/waiting
ureadahead stop/waiting