Alon Bar-Lev <[email protected]> writes:

> On 6 November 2015 at 17:28, lee <[email protected]> wrote:
>> Hi,
>>
>> finally I got set up pppoe, which turned out to be surprisingly easy.
>> It's working fine, though I'm getting a warning when the pppoe interface
>> is brought up:
>>
>>
>> heimdali init.d # service net.ppp0 start
>>  * Bringing up interface ppp0
>>  *   Starting pppd in ppp0 ...                               [ ok ]
>>  *   Backgrounding ...
>>  * WARNING: net.ppp0 has started, but is inactive
>> heimdali init.d #
>>
>>
>> Why is this warning showing, and what can I do about it?
>>
>
> this warning can be safely ignored, all it tells you is that the
> service will be fully up when connection will be established.
> the same state is for ethernet until the ifplugd detects connection to 
> network.
>
>> How does pppoe work together with shorewall and bind?
>>
>> When I stop the net.ppp0 service, shorewall is automatically stopped as
>> well.  When I start net.ppp0, shorewall is not started automatically.
>>
>> I would like to automatically have net.ppp0 first started and then
>> shorewall.
>
> usually the firewall service should be started before all interfaces
> (except lo).
> add the following to /etc/conf.d/net.ppp0:
> ---
> rc_net_ppp0_need="firewall net.enp2s0"
> ---

Thanks!  I copied net.lo to net.ppp0 and put it at the top so it now
goes:


#!/sbin/runscript
# Copyright (c) 2007-2009 Roy Marples <[email protected]>
# Released under the 2-clause BSD license.

MODULESDIR="/lib/netifrc/net"
MODULESLIST="${RC_SVCDIR}/nettree"
_config_vars="config routes"

rc_net_ppp0_need="firewall net.enp2s0"


I'm not sure if that's right --- I guess I shouldn't make a copy?

> this will make sure that the ppp0 interface is started after both
> firewall and enp2s0.
>
> I also have the following in /etc/rc.conf to avoid stopping services
> while network is down:
> ---
> rc_hotplug="!net.enp2s0 !net.ppp*"
> ---

The comment in /etc/rc.conf says no hotplugging is done by default.
IIUC, you are hotplugging 'net.enp2s0' and 'net.ppp*'?  So allowing to
hotplug them would kinda make them independent of other services, or
other services independent from them?

>> When net.ppp0 is stopped and restarted, I also must restart the name
>> server (bind) :(  Otherwise it is unable to resolve anything.
>>
>> Can this somehow be avoided?  If not, can this be done automatically?
>
> this is strange... why bind must be restarted?
> I use dnsmasq and it survive network down without any issue.
> but if you must, add the following to /etc/conf.d/net.ppp0:
> ---
> postup() {
>         # whatever required after interface is up
>         return 0
> }
> ---

Ah, yes, good idea :)

Fortunately, everything survives when the link goes down and comes back
up, so this would only be an issue when I manually stop/start the
net.ppp0 service.  I can live with that.


>> The log files show martian sources from a bridge device which is used
>> for the networking of a container:
>>
>>
>> [1734776.722127] IPv4: martian source 255.255.255.255 from 192.168.1.1, on 
>> dev enp2s0
>> [1734776.722132] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 
>> 00        ........k..D..
>>
>>
>> The enp2s0 interface is used for pppoe, 192.168.1.1 is the IP of the
>> bridge.  The bridge does not have a physical network interface assigned
>> to it.
>>
>> The routefilter option is enabled on all interfaces.  Why would there be
>> such a broadcast originating from the bridge, and how can I prevent it?
>
> not sure what you describe here, but maybe you would like to disable
> spanning tree, add the following to disable spanning tree to
> /etc/conf.d/br0.conf (provided br0 is the name of the bridge).
> ---
> stp_state_br0=0
> ---

STP is disabled when the bridge is brought up with


config_br_dmz="192.168.1.1 netmask 255.255.255.0 brd 192.168.1.255"
brctl_br_dmz="setfd 0 sethello 10 stp off"


... in /etc/conf.d/net.


heimdali init.d # brctl show
bridge name     bridge id               STP enabled     interfaces
br_dmz          8000.fe150e283be5       no              vethJRMBC7
heimdali init.d # 


[1829515.036283] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829515.036296] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829575.021793] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829575.021806] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829634.958151] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829634.958164] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829694.919256] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829694.919269] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829754.880046] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829754.880059] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829814.849173] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829814.849186] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829874.802373] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829874.802386] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829934.762920] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829934.762933] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1829994.724216] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1829994.724230] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..
[1830054.689127] IPv4: martian source 255.255.255.255 from 192.168.1.1, on dev 
enp2s0
[1830054.689132] ll header: 00000000: ff ff ff ff ff ff 00 0b 6b 81 c9 44 08 00 
       ........k..D..


It looks as if there is a broadcast on the bridge interface every 60
seconds.  This could come from the bridge itself, or from something
running inside the container.  Once I have more containers, there might
be more broadcasts and thus more martian sources.

Can I run some network spying tool inside the container to find out
where the broadcasts are coming from?

With 'tcpdump -e -i eth0 ether broadcast and ether multicast', I'm not
getting anything so far, neither on the bridge interface itself from the
host, nor on the virtual eth0 from within the container.


-- 
Again we must be afraid of speaking of daemons for fear that daemons
might swallow us.  Finally, this fear has become reasonable.

Reply via email to