[IPv6] Privacy extensions on rmnet/volte interfaces

Search This thread


Senior Member
Aug 19, 2010
I'd like to set privacy extensions enabled on ALL interfaces, including rmnet01 and others that connect to the carrier. I have tried setting /etc/sysctl.conf with
net.ipv6.conf.all.use_tempaddr = 2

Unfortunately, no dice. Something else specifically disabled it for all except wlan.

This is what it does to me:

net.ipv6.conf.all.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0
net.ipv6.conf.dummy0.use_tempaddr = 0
net.ipv6.conf.lo.use_tempaddr = -1
net.ipv6.conf.rmnet_data0.use_tempaddr = 0
net.ipv6.conf.rmnet_data1.use_tempaddr = 0
net.ipv6.conf.rmnet_data2.use_tempaddr = 0
net.ipv6.conf.rmnet_data3.use_tempaddr = 0
net.ipv6.conf.rmnet_data4.use_tempaddr = 0
net.ipv6.conf.rmnet_data5.use_tempaddr = 0
net.ipv6.conf.rmnet_data6.use_tempaddr = 0
net.ipv6.conf.rmnet_data7.use_tempaddr = 0
net.ipv6.conf.rmnet_ipa0.use_tempaddr = 0
net.ipv6.conf.sit0.use_tempaddr = -1
net.ipv6.conf.teql0.use_tempaddr = 0
net.ipv6.conf.wlan0.use_tempaddr = 2

So what else can I do to force this on? I looked in the boot.img and nothing there seems to disable it. Searching for tempaddr in the rom returns nothing too. My next attempt will be using sysctl commands in a startup script.

BTW I am on android 7, alpha rom for LG V20.


Senior Member
Aug 19, 2010
I made a script and had it run at startup via magisk from /data/adb:


sleep 30

sysctl net.ipv6.conf.all.use_tempaddr=2
sysctl net.ipv6.conf.default.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data0.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data1.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data2.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data3.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data4.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data5.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data6.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_data7.use_tempaddr=2
sysctl net.ipv6.conf.rmnet_ipa0.use_tempaddr=2
sysctl net.ipv6.conf.teql0.use_tempaddr=2
sysctl net.ipv6.conf.wlan0.use_tempaddr=2

but no go:
[    7.913922 / 04-04 11:59:11.589][2] init: write_file: Unable to open '/proc/sys/net/ipv6/conf/rmnet0/accept_ra': No s
uch file or directory
[    7.913955 / 04-04 11:59:11.589][2] init: write_file: Unable to open '/proc/sys/net/ipv6/conf/rmnet1/accept_ra': No s
uch file or directory

Not sure if it's running too early or what it has to do with accept_ra but it was new in dmesg when I set the script. BTW that file is present when booted up.


Senior Member
  • Jul 11, 2009
    European Union
    Android system settings - doesn't actually matter where they are stored in - are read when Android's init process - the root process - at boot up is run: the init process looks into a file named init.rc where all is initialization settings are declared. To extend these default setting one can store a related user-script in directory init.d , if present.

    Look also here.


    Senior Member
    Aug 19, 2010
    I actually don't have init.d support but magisk runs things from /data/adb/service.d The error message may be related to init.rc trying to set accept_ra because I know I found that in there. I should put a message in my script to make sure it's running. In either case scripts look to be getting there early before all interfaces are created.

    Then to actually see if ipv6 ip is randomized.
    Our Apps
    Get our official app!
    The best way to access XDA on your phone
    Nav Gestures
    Add swipe gestures to any Android
    One Handed Mode
    Eases uses one hand with your phone