Cannot set static IP address in Knoppix 7
I often boot to Knoppix 2 (the command-line) on a network without DHCP that I administer. Up through Knoppix 6, I always set a static IP address by appending the following to /etc/network/interfaces:
auto eth0
iface eth0 inet static
address 10.0.0.200
netmask 255.255.255.0
gateway 10.0.0.1
Then, I would bring it up:
ifup eth0
portmap (I now am using "rpcbind" instead since portmap is renamed in Knoppix 7)
rpc.statd
This has always worked for me the in the past using pre-version 7 Knoppix and portmap. Now it works, but only for 15 seconds or so before the interface falls down. Both the presence of an IPv4 address in "ifconfig" and pinging reveal that. I can even bring eth0 up and "ping -c 40 10.0.0.1", then watch it ping successfully the first few times and get some "address not routable" error thereafter!
I've also tried the boot cheats "nodhcp" and "ip=10.0.0.200" to no avail. Is my procedure for static IPs out of date? Or have I encountered a bug in Knoppix 7?
whether or not to use network-manager for static IPs
Quote:
Originally Posted by
Capricorny
Yes, in your use situation, the case is pretty clear. But I can imagine that KK is rather reluctant to tie basic services to the graphical mode, which is why he has opted for a cheatcode off-switch instead. And when you have told networkmanager not to manage an interface, I would think the other configuration tools work or could relatively easily be made to do so.
I completely agree with respect to command line behavior.
Network-Manager is a daemon that listens to interfaces statuses and selects a configuration based on wireless SSIDs or user interaction. It is not a graphical program by itself, but interacts with graphical user interfaces for control, as well as featuring a tiny commandline interface and controls over dbus, so it is quite flexible. By default, network-manager does a lot on its own, like trying DHCP as soon as you plug in a cable into the network card.
Actually, network-manager should respect manual settings in /etc/network/interfaces, also in textmode. In fact, Knoppix contains a script that changes network-managers configuration entirely via /etc/network/interfaces for use in textmode:
"knoppix-networkmanager".
However, after changing /etc/network/interfaces manually, you need to restart network-manager in order for changes to take effect:
sudo /etc/init.d/network-manager restart
Do NOT use ifup/ifdown if network-manager is running. Network-manager will ignore the lock status of ifup/ifdown, while ifup/ifdown will ignore all settings done with network-managers own control programs.
Using static IP addresses in network-manager works fine as long as there is a physical connection, but unfortunately, network-manager does not seem to keep the set IP address when there is no carrier signal on the network cable.
If you want to use the command-line, you have the option of excluding an interface from being handled by network-manager:
sudo nmcli dev disconnect iface eth0
which makes network-manager stop listening on eth0 at all, so you can work with ifup/ifdown again if you are more used to these.
Or just suspend network-manager:
sudo /etc/init.d/network-manager stop
(which is an alternative to using the "nonetworkmanager" cheatcode in Knoppix).
Because of its user-friendly desktop integration in Gnome and KDE (and LXDE, too), most distros are using network-manager by default nowadays. For commandline experts who are used to configure everything manually via ifconfig and route, it's a little uneasy that a daemon is handling all the network stuff and will override manual settings (except in the aforementioned cases), I agree with that. So I would recommend just booting Knoppix with the "nonetworkmanager" option, or use the tricks above to revert to the non-automatic configuration behaviour.
Regards
-Klaus