[Dnsmasq-discuss] Compile with HAVE_IPSET on kernel 3.0.x problem

Punk[D.M] punkdm at gmail.com
Sat Feb 15 20:37:19 UTC 2014


Yes, i am sure the ipset main function is working:





*[RT-N56U:/opt/home/admin]$ ipset -Hipset v6.19.......*

*and:*







*[RT-N56U:/opt/home/admin]$ ipset -L gfwlist Name: gfwlistType:
hash:ipRevision: 1Header: family inet hashsize 1024 maxelem 65536Size in
memory: 8264References: 1Members:*

I found something, but i'm not sure it is worse to think:

On my other router that running Tomato firmware(ipset v4.5 and Linux kernel
2.6.22.19), ipset with dnsmasq working fine, from netstat -lnp , i can see
dnsmasq have a RAW Proto standing:





*udp        0      0 0.0.0.0:43000 <http://0.0.0.0:43000>
0.0.0.0:*                           5590/eapd           raw        0      0
0.0.0.0:255 <http://0.0.0.0:255>             0.0.0.0:*
7           12439/dnsmasq       raw        0      0 0.0.0.0:255
<http://0.0.0.0:255>             0.0.0.0:*               7
16777/pppd          raw        0      0 0.0.0.0:255
<http://0.0.0.0:255>             0.0.0.0:*               7
4011/socat          raw        0      0 0.0.0.0:255
<http://0.0.0.0:255>             0.0.0.0:*               7
1231/ss-local  *

but on this RT-N56U system, none of RAW exist:






*udp        0      0 192.168.1.1:138 <http://192.168.1.1:138>
0.0.0.0:*                           673/nmbd            udp        0      0
0.0.0.0:138 <http://0.0.0.0:138>
0.0.0.0:*                           673/nmbd            udp        0      0
192.168.1.1:48066 <http://192.168.1.1:48066>
0.0.0.0:*                           544/miniupnpd       Active UNIX domain
sockets (only servers)Proto RefCnt Flags       Type       State
I-Node PID/Program name    Path unix  2      [ ACC ]     STREAM
LISTENING     973    786/pdnsd           /var/cache/pdnsd/pdnsd.status*

I pay attention to the RAW because i found the error string from ipset.c
next section:










*  if (old_kernel && (ipset_sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW))
!= -1)    return;    if (!old_kernel &&       (buffer =
safe_malloc(BUFF_SZ)) &&      (ipset_sock = socket(AF_NETLINK, SOCK_RAW,
NETLINK_NETFILTER)) != -1 &&       (bind(ipset_sock, (struct sockaddr
*)&snl, sizeof(snl)) != -1))    return;    die (_("failed to create IPset
control socket: %s"), NULL, EC_MISC);*

It is about RAW check or something? I am a total novice of C language...

It's first time i use mail list, it's right to reply all?


2014-02-16 2:58 GMT+08:00 Hartmut Krafft <hartmut at mail.ru>:

> Hi!
> Do you have ipset installed correctly? You need a kernel module and an
> admin program called ipset. You first need to create your ipsets using this
> program (man ipset). Only then you can use them in dnsmasq. You can check
> if the IP set was created correctly by issuing ipset -l gfwlist (or another
> name).
> But I think you are missing the basic ipset support in your system. You
> should have got an error creating the empty IP sets, though...
>
> On Feb 15, 2014 6:50 PM, "Punk[D.M]" <punkdm at gmail.com> wrote:
> >
> > After i compile a ASUS RT-N56U/N65U/N14U custom firmware 3.X.3.7-079 by
> Padavan(https://code.google.com/p/rt-n56u/) with HAVE_IPSET on
> kernel-3.0.x (or kernel-3.4.x),
> >
> >
> > reboot the router and i got this error in log:
> >
> > dnsmasq[515]:failed to create IPset control socket: Protocol not
> supported
> >
> > and dnsmasq failed to start.
> >
> > I had some ipset setting in dnsmasq config:
> >
> >
> >
> > ipset=/youtube.com/gfwlist
> >
> > ipset=/twitter.com/gfwlist
> >
> > ...etc
> >
> > Any suggest with this? Thanks!
> >
> >
> >
> > Sorry my english!
> >
> >
> >
> >
> >
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/attachments/20140216/ce06cc6f/attachment.html>


More information about the Dnsmasq-discuss mailing list