View Single Post
Posts: 2,144 | Thanked: 8,406 times | Joined on May 2010
Originally Posted by Malakai View Post
My question would now be how to prevent dnsmasq from querying ipv6?
I have no idea if something is even possible. dnsmasq is caching dns forwarder (with some support for also master authoritative dns server) and its responsibility is to forward every one valid dns query (A or MX or AAAA or SRV or TXT ...). Dropping or rejecting queries is strictly against what such software is doing.

Originally Posted by Malakai View Post
I was believing that because on dnsmasq logs I always see AAAA queries and then A queries, but if you say that there is no impact on DNS resolution then I believe you
That depends on application and how good/poor is written. Yes, nobody can prevent or reject application behaviour if it first send DNS packet to ask for AAAA, wait for big timeout and after that new packet for A. But I hope that such applications are not there... You can also send separate packets in parallel...

Originally Posted by Malakai View Post
Can't say that I have a real problem now, just wanted to be sure that it is deactivated and that it couldn't produce problems in a future specific situation, like my N900 connecting to an ipv6 network (I wouldn't want to have an ipv6 address in this situation ; only ipv4).
Do you have particular reason why to disable IPv6? I think now it is time to start enabling it and be ready for it as giant CGNs are more and more used in IPv4 world.

Originally Posted by Malakai View Post
Where can I add the disable_ipv6=1 to disable ipv6 at boot, as Maemo doesn't seem to have /etc/sysctl.conf.
That is quite tricky in Maemo...

Normally it should be done into kernel cmdline, but on N900 you need either recompile kernel or boot via usb from computer (where you can specify cmdline). So no go.

Another option is to use sysctl.conf, which is not read on Maemo. So no go.

So last option is to call it manually and because Maemo does not support SysV init scripts (Maemo has removed this support from upstart init daemon) you cannot even use /etc/init.d/ and /etc/rc*.d/.

You need to create your own upstart script which will be executed on device bootup. You need to run sysctl or write to /proc/sys/... For that you need to already have mounted procfs. procfs is mounted by /etc/init.d/rcS called by upstart script /etc/event.d/rcS. So you need to create upstart script which will be called after rcS is finished. This can be achieved by specifying "start on stopped rcS" in your upstart script.

Something like this should work:

start on stopped rcS
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
end script
But it is untested. So you probably need to debug...

The Following User Says Thank You to pali For This Useful Post: