static Ipv6 via command line

Hi , I’m going crazy here , i need to set up a isc-dhcp-server for ipv6 , so far so good , I configured everything needed , i even know how to start the server :
dhcp -6 enp0s3 , then i’d have to create a leases file , up to that point there’s no issue , but what i am struggling with is assigning a static ipv6 address to said interface , i want to do it via vi /etc/sysconfig/network/ifcfg-enp0s3 but i can’t find anywhere for the correct parameters so far i have this : bootproto=‘static’ IVP6INIT=yes and IPV6ADDR=‘address/mask’ but when i set the interface with those (along many others) this happens :
Job for network@enp0s3.service failed. See ‘systemctl status network@enp0s3.service’ and ‘journalctl -xn’ for details.

As most things, this may be openSUSE version specific. Thus please alwyas mention your openSUSE version when asking.

When you say that you configured

Did you enter exactly the above or did you replace ‘address/mask’ with the actual IPv6 address (AFAIK masks aren’t relevant in IPv6)

You should enter your IPv6 address…


I’m using

and yes what i actually put was IPV6ADDR=2001:0:0:1::1/64 in this case that’s the ip i want to have for the scenario.

To repeat what tsu2 already said: what is the /64 supposed to do there?

it marks the mask , it could be 32 or 128 for that matter , that’s why i write the 2001:0:0:1 <- the 1 marks the subnet

OK, I see in my system a likewise notation.

I see you are invitated to get more information. Did you do that and when yes, why didn’t you post it here, and when no, why not?

BTW, maybe we did not notice that message from the system, because you did not post it between CODE tags. Please always post copied/pasted computer texts between CODE tags (you get them by clicking on the # button in the tool bar of the post editor). It would not only show that piece of information as a comnputer fact, clearly separated from your story telling, but also avoid interpreting things as URLs, etc.

Same for this,

… so far i have this : bootproto=‘static’ IVP6INIT=yes and IPV6ADDR=‘address/mask’ …

but simply post the prompt, the command, the output and the next prompt of

cat /etc/sysconfig/ifcfg-enp0s3

That will show us what you want to show and even more.

BTW, I am not that fluent with configuring IPv6, but I simply told YaST > Network > Network Devices to switch on IPv6. After that all went atomatic.

boven:/etc/sysconfig/network # ifconfig -a
enp1s8    Link encap:Ethernet  HWaddr 00:1B:FC:7F:C1:EF  
          inet addr:  Bcast:  Mask:
          inet6 addr: 2001:980:91a0:1:3d47:d678:2cde:7a3/64 Scope:Global
          inet6 addr: fe80::21b:fcff:fe7f:c1ef/64 Scope:Link
          inet6 addr: 2001:980:91a0:1:21b:fcff:fe7f:c1ef/64 Scope:Global
          RX packets:107828 errors:0 dropped:0 overruns:0 frame:0
          TX packets:102345 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:57926046 (55.2 Mb)  TX bytes:16333476 (15.5 Mb)

lo        Link encap:Local Loopback  
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5040 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5040 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4509481 (4.3 Mb)  TX bytes:4509481 (4.3 Mb)

wlp0s29f7 Link encap:Ethernet  HWaddr 00:C0:A8:EE:DE:B9  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

boven:/etc/sysconfig/network # 
boven:/etc/sysconfig/network # cat ifcfg-enp1s8
NAME='82801G (ICH7 Family) LAN Controller'
boven:/etc/sysconfig/network #

the thing is , i think you’re using EUI-64 to generate that IP address , and i have a Isc-dhcp-server giving Ip’s already.

As I said, I am not that fluid in IPv6, but I started to read some docs (e.g. about EUI-64).

And of course I landed at the ifcfg man page. In your first post you mention you use parameters IVP6INIT and IPV6ADDR. I can find neither of them mentioned in the man page. Where did you find those documented or are they of your own invention.

They are used on other linux distros , as you may know for example configuration in opensuse differs a lot from configuration in ubuntu or debian but on mandriva/oracle linux the configs are pretty much the same , i kinda assumed it should work , considering there’s close to 0 help online about configuring manually a Ipv6 Address via command line , they only talk about yast , and i can’t use any GUI.

I do not know anything about those other distributions, I am an openSUSE user.

It seems you have a misconceoption about YaST, it is not a GUI applicatiion only. Just call


from the console.

I have never used IPv6 myself and especially not set up manually, but:

  • there’s no mention of IPV6ADDR at all in /etc/sysconfig/network/ifcfg.template
  • YaST only has one input field for the IP-Address, there’s no explicit input field for an IPv6 address
  • even with grep I do not find any mention of IPV6ADDR in /sbin/ifup (which is only a shell script)

Considering those facts, my combined guess would be that IPV6ADDR is not at all supported on openSUSE, and probably is the reason why your connection fails to start.

So try to use IPADDR=‘xxx’ instead of IPV6ADDR=‘xxx’.
This seems to work here. At least ifconfig shows the address I set with IPADDR as “inet6 addr”. :wink:
(I cannot really test it as I don’t have an IPv6 network here)

linux-lf90:~ # grep ADDR /etc/sysconfig/network/ifcfg-enp63s0
linux-lf90:~ # ifconfig enp63s0
enp63s0   Link encap:Ethernet  HWaddr 00:17:A4:43:6C:7C  
          inet6 addr: 2001:0:0:1::1/128 Scope:Global
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

linux-lf90:~ # 

And AFAICT IPV6INIT doesn’t exist either, IPv6 is activated by default. You would have to disable it explicitely in /etc/sysctl.conf if not wanted (by setting “net.ipv6.conf.all.disable_ipv6 = 1” there), that’s what YaST does when you disable IPv6.

that’s interesting , i’ll try that