The issue is that PPP On Demand siems not to be well integrated in OpenWRT.
Following config can was used to test it:
#WAN Interface
uci set network.wan=interface
uci set network.wan.ifname=eth4
uci set network.wan.proto=pppoe
uci set network.wan.username=test@operator
uci set network.wan.password=cpesit
uci set network.wan.demand=60
uci commit
/etc/init.d/network restart
According to the OpenWRT Wiki only following config is needed to enable PPP
On Demand:
uci set network.wan.demand=60
Where the value 60 defines the inactivity time in seconds before the PPP
terminates.
The trigger used to bring up the PPP is specified in following tcpdump
packet-matching code file:
root@OpenWrt:/etc/ppp# cat filter
#
# Expression: outbound and not icmp[0] != 8 and not tcp[13] & 4 != 0
#
19
48 0 0 0
21 0 16 1
40 0 0 2
21 0 13 33
48 0 0 13
21 0 5 1
40 0 0 10
69 9 0 8191
177 0 0 4
80 0 0 4
21 6 7 8
21 0 5 6
40 0 0 10
69 3 0 8191
177 0 0 4
80 0 0 17
69 1 0 4
6 0 0 4
6 0 0 0
Resulting behavior:
root@OpenWrt:~# ifconfig
...
pppoe-wan Link encap:Point-to-Point Protocol
inet addr:10.64.64.64 P-t-P:10.112.112.112 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 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:3
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@OpenWrt:~# ifstatus wan
{
"up": false,
"pending": true,
"available": true,
"autostart": true,
"proto": "pppoe",
"device": "eth4",
"data": {
"pppinfo": {
"pppstate": "trigger"
}
}
}
root@OpenWrt:~# ip route show
10.112.112.112 dev pppoe-wan proto kernel scope link src 10.64.64.64
192.168.1.0/24 dev br-lan proto kernel scope link src 192.168.1.1
239.0.0.0/8 dev br-lan scope link
As you can see above no default route is present toward pppoe-wan so a lan
client will not be able to trigger the PPP On Demand.
Manually creating the default route is apparently not sufficient:
ip route add 0.0.0.0/0 dev pppoe-wan
Due to the fact that there is no nameserver entry present in the
resolve.conf.auto file dnsmasq does not know where to forward to query to.
root@OpenWrt:/etc/ppp# cat /tmp/resolv.conf.auto
root@OpenWrt:/etc/ppp#
NOTE: for debugging purposes start you can start dnsmasq as follows:
/usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf --log-queries
root@OpenWrt:/etc/ppp# logread -f | grep dns
Nov 7 15:37:14 OpenWrt daemon.info dnsmasq[5532]: query[A] twee.be from
192.168.1.100
Nov 7 15:37:14 OpenWrt daemon.info dnsmasq[5532]: query[A]
twee.be.eu.thmulti.com from 192.168.1.100
Nov 7 15:37:14 OpenWrt daemon.info dnsmasq[5532]: query[A]
twee.be.edegem.eu.thmulti.com from 192.168.1.100
If the file is populated with a bogus dnsserver entry ppp is triggered as
you can see below.
root@OpenWrt:/etc/ppp# vi /tmp/resolv.conf.auto
nameserver 10.0.0.1
root@OpenWrt:/etc/ppp# logread | grep dns
Nov 7 15:39:38 OpenWrt daemon.info dnsmasq[5532]: reading
/tmp/resolv.conf.auto
Nov 7 15:39:38 OpenWrt daemon.info dnsmasq[5532]: using nameserver
10.0.0.1#53
Nov 7 15:39:38 OpenWrt daemon.info dnsmasq[5532]: using local addresses
only for domain lan
Nov 7 15:39:42 OpenWrt daemon.info dnsmasq[5532]: query[A] twee.be from
192.168.1.100
Nov 7 15:39:42 OpenWrt daemon.info dnsmasq[5532]: forwarded twee.be to
10.0.0.1
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: reading
/tmp/resolv.conf.auto
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: using nameserver
10.50.2.22#53
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: using nameserver
10.50.2.20#53
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: using local addresses
only for domain lan
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: query[A] twee.be from
192.168.1.100
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: forwarded twee.be to
10.50.2.20
Nov 7 15:39:47 OpenWrt daemon.info dnsmasq[5532]: reply twee.be is
217.172.190.187
Is this a know issue?
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel