If I disable ipv6 via the kernel command line, ipv6.disable=1, then systemd-networkd fails to bring up any interfaces.
Removing the option and networking works as expected.
If you look at the appropriate ifcfg files eg
/etc/sysconfig/network-scripts/ifcfg-em1 do you see IPV6_FAILURE_FATAL=no ?
systemd-networkd doesn’t use those files at all.
Okay sorry about that.
No Idea if it will work in CentOS, but is it worth trying to turn off ipv6
for a single nic as as outlined at https://coreos.com/os/docs/latest/network-config-with-networkd.html ?
That’s ok the link was a good idea however, it doesn’t fix the issue with disabling ipv6 at the kernel level, fails with the same output
How are you controlling your network interfaces? I am using NM.
Whilst not answering your question directly, I disable ipv6 in
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
# For more information, see sysctl.conf(5) and sysctl.d(5). net.ipv4.ip_forward = 1
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
After updating, run ‘sysctl -p’ and ‘dracut -f’
Works for me.
He’s using systemd-networkd as he stated.
Best advice? Don’t disable IPv6 … configure your firewall properly.
Too much now depends on IPv6 to play silly buggers with a key component of the network stack (eg default binds and network bonding).
Where does systemd-networkd store its settings, then?
Files in /etc/systemd/network if I’m remembering right… been awhile since I played with it and it’s not in a standard rhel install. You use .network files to do network configuration and .link for link level stuff like mac address.
James Hogarth wrote:
Nope. And find /etc/systemd -name network gives zilch.
> Nope. And find /etc/systemd -name network gives zilch.
Yes, systemd-networkd does store its configuration in
/etc/systemd/network, but the directory isn’t created by the RPM; you need to create it yourself.
As noted, systemd-networkd is in the RHEL extras (or somesuch) repo, so it isn’t supported by Red Hat on RHEL. It’s basically just (minimally)
Sometimes we build kernels that need the minimal amount of functionality that we can get away with, the environment this system is in an environment that does not use, and won’t use IPv6 for some time.
systemd-networkd has some nice features for setting link speed, renaming interfaces etc, and so hence, trying to get it to work with no IPv6