On Sun, Jun 08, 2014 at 11:25:53AM +0100, Mick wrote: > On Sunday 08 Jun 2014 10:25:40 Matti Nykyri wrote: > > Hi > > > > I also have other problems in my life. One of them is on one of my gentoo > > server. This server has two network cards one serves intranet and the > > other internet. The on that is on the internet is attached to a cable > > modem. The modem is buggy and some times reboots it self losing the link > > so I have ifplugd there get new address via dhcp immediately. Intranet > > card is configured not to use ifplugd. I'm using OpenRC. > > Are you sure of this? How have you configured your intranet card to not be > acted upon by ifplugd? From what I see, ifplugd will pick up any interface in > /etc/init.d: > > EXEC="/etc/init.d/net.$1" Actually it's not ifplugd's fault. It is just the one that restarts services... The restarting is the thing that breaks stuff: -------------------------------------------- server% [13:44] /var/log$ sudo iptables -v -L -t nat Chain POSTROUTING (policy ACCEPT 10142 packets, 743K bytes) pkts bytes target prot opt in out source destination 8307 616K MASQUERADE all -- any enp0s10 anywhere anywhere server% [13:45] /var/log$ sudo /etc/init.d/net.enp0s10 stop * Stopping NIS Server ... [ ok ] * samba -> stop: smbd ... [ ok ] * samba -> stop: nmbd ... * start-stop-daemon: 2 process(es) refused to stop [ !! ] * Unmounting network filesystems ... [ ok ] * Stopping chrooted named ... * Umounting chroot dirs ... * umounting /chroot/dns/usr/share/GeoIP ... [ ok ] * umounting /chroot/dns/etc/bind ... [ ok ] * umounting /chroot/dns/var/log/named ... [ ok ] * umounting /chroot/dns/var/bind ... [ ok ] * Stopping dhcpd ... [ ok ] * Bringing down interface enp0s10 * Stopping dhclient on enp0s10 ... [ ok ] * Stopping ifplugd on enp0s10 ... [ ok ] server% [13:45] /var/log$ sudo iptables -v -L -t nat Chain POSTROUTING (policy ACCEPT 10147 packets, 743K bytes) pkts bytes target prot opt in out source destination 8309 617K MASQUERADE all -- any enp0s10 anywhere anywhere server% [13:45] /var/log$ sudo /etc/init.d/net.enp0s10 start * Bringing up interface enp0s10 * Changing MAC address of enp0s10 ... [ ok ] * changed to 00:80:23:7A:8A:A4 * Starting ifplugd on enp0s10 ... [ ok ] * Backgrounding ... * WARNING: net.enp0s10 has started, but is inactive server% [13:45] /var/log$ sudo iptables -v -L -t nat Chain POSTROUTING (policy ACCEPT 10147 packets, 743K bytes) pkts bytes target prot opt in out source destination 8309 617K MASQUERADE all -- any enp0s10 anywhere anywhere -------------------------------------------- It takes around 40 seconds for dhclient to address from ISP (net-misc/dhcp-4.2.5_p1) After it gets the address iptables is changed: -------------------------------------------- server% [13:45] /var/log$ sudo iptables -v -L -t nat Chain POSTROUTING (policy ACCEPT 2 packets, 152 bytes) pkts bytes target prot opt in out source destination 0 0 MASQUERADE all -- any eth1 anywhere anywhere server% [13:48] /var/log$ ps aux | grep dhclient root 22011 0.0 0.2 16200 7108 ? Ss 13:46 0:00 /sbin/dhclient -e PEER_NTP=no -e IF_METRIC=3 -q -1 -pf /var/run/dhclient-enp0s10.pid enp0s10 server% [13:48] /var/log$ ls /etc/init.d/net* lrwxrwxrwx 1 root root 6 Oct 4 2011 /etc/init.d/net.enp0s10 -> net.lo* lrwxrwxrwx 1 root root 6 Oct 4 2011 /etc/init.d/net.enp5s12 -> net.lo* -rwxr-xr-x 1 root root 17412 Jan 2 23:42 /etc/init.d/net.lo* -------------------------------------------- > > The problems are related to iptables and samba. > > > > Samba: when ifplugd runs down the internet card samba is killed. This > > shouldn't happen. Samba is configured only to use intranet card. Samba > > always fails to start when ifplugd starts the internet card. Manual > > starting is required. > > > > Iptables: the system uses new nic names (enp7s0 etc). Iptables has them > > correctly in the rules and in rules save. However when ifplugd cycles the > > internet nic all the nic names in the in-kernel rules change to eth0 an > > eth1. I need to zap iptables and then start it to reset the rules. > > This does not happen here. When ifplugd restarts a NIC it always comes back > with the new consistent naming. Do you have some udev rules defined which are > picked up on the second time that the ifplugd brings up the card, but not the > first? No I don't. And as stated when dhclient sets the address that is the point when the names change. > > Any suggestions where to start? Or just disable ifplugd? > > Have you tried configuring static IP addresses, broadcast and gateways for > each card using the /etc/cong.d/net file? You can still set dhcp as a fall > back if you want, although I am not sure it is necessary for a server in a > static LAN. lol. Yeap... I had an old rules set file that was set to run in postup()-function. Quite embarrassing :/ I don't know how I missed this... modules_enp5s12="!plug" modules_enp0s10="dhclient" So enp5s12 is static and enp0s10 is dynamic with plug and dhcp. > The file /usr/share/doc/netifrc-0.2.2/net.example.bz2 provides suggestions for > different set ups. In the past there was option in the rc.conf to say that eth1 is sufficient for net. I don't wan't any services shutdown if anything drives down the enp0s10 NIC. Is there a way to do that with OpenRC? As you see when I stop enp0s10 all the services that serve intranet are driven down... -- -Matti