[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-net
Subject:    Re: setfib (ez)jails and wierd routing
From:       Julian Elischer <julian () elischer ! org>
Date:       2017-10-18 3:04:38
Message-ID: a8d1b7de-d7e6-8914-509d-694e6e0e27a8 () elischer ! org
[Download RAW message or body]

On 18/10/17 3:30 am, Marek Zarychta wrote:
> On Tue, Oct 17, 2017 at 08:28:16PM +0200, Marko Cupać wrote:
>> On Mon, 16 Oct 2017 20:07:28 +0200
>> Marek Zarychta <zarychtam@plan-b.pwste.edu.pl> wrote:
>>
>>> Hi,
>>>
>>> try after to set "ifconfig bce1 fib 2" after disabling PF.
>>> This  should do the work.
>> Hi Marek,
>>
>> thank you for your advice, it seems to be getting me closer to the
>> solution.
>>
>> PF is not enabled on this host. I've set `ifconfig bce1 fib 2'
>> interactively, and packets with source address of DMZ net disappeared
>> from LAN NIC (bce0 / fib 1).
>>
>> I wanted of course to have this automated, so I changed my rc.conf line
>> for bce1:
>> ifconfig_bce1="inet 193.53.106.7 netmask 255.255.255.0 fib 2"
>>
>> However, after restart I observed another undesirable situation -
>> packets with source address 193.53.106.7 leaving bce0 interface. I
>> found out those are generated by sysutils/py-salt master service
>> running directly on host (fib 0), bound to 193.53.106.7 (on interface
>> bce1, which is now set as fib 2 at boot time).
>>
>> Why is outcome different when bce1 is set with fib 2 at the boot time
>> from rc.conf from setting it at runtime?
>>
>> If setting bce1 with fib2 at the boot time from rc.conf, should I also
>> start services running directly on host and bound to bce1 in fib 2?
>> Would this be the correct rc.conf syntax for starting services in other
>> fibs (for salt):
>>
>> salt_master_enable="YES"
>> salt_master_fib="2"
>> salt_minion_enable="YES"
>> salt_minion_fib="2"
> Hi Marko,
>   
> bounding interface with FIB applies only to packets received on that
> interface (ifconfig(8)). IMHO py-salt works as expected and as before.
>
> If you wish to apply FIB to packets belonging to the connections
> originating from the host, you should either start service with
> setfib(1) or use appropriate firewall rules to assist this. With PF(4)
> it could be route-to or rtable options, see pf.conf(5)
>
> Best regards,

TO me it sounds a bit like what you want to do is better achieved 
using Vimage/Vnet on your jail.


As for using Fibs, you can make sure that the jail is started with 
setfib, and that you always use setfib with jexec to ensure that all 
processes in hte jail inherit the correct fib setting.. The Fib on an 
interface just assignes that as a default fib for incoming packets. no 
more..  We did have a set of changes that allowd an incoming packet to 
attach to a  socket that had no fib and set its fib to that socket. 
Thet set was never really committed.

(basically the server socket would take on the fib for the interface 
on which the packet had arrived)

I still hope to get that change in one day.

Julian



_______________________________________________
freebsd-net@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic