11.2-U2 - Jail - Static IP - Network Interface missing

ambiorix

Cadet
Joined
Feb 22, 2019
Messages
4
Hi,

So first, let's get the technical specs out of the way.

Case: Fractal Define R6
MOBO: Asus p6x58d-e
CPU: Intel(R) Core(TM) i7 CPU 920 @ 2.67GHz with stock Intel cooler
RAM: ValueRam 4x8GB
PSU: Corsair HX750
NIC: 2 x Intel Pro 1000 VT (Quad Port)
HDD: 6 x WD RED 3TB
SSD: Crucial M4 120GB (Boot)
Switch: Cisco WS-C3560E-24TD-S (L3 enabled)

Freenas version: 11.2-U2
Storage config: RAIDZ2
VLANS
- VLAN20: 10.5.20.0 /24
- VLAN50: 10.5.50.0 /24

My Switch will be doing the Inter-Vlan Routing so is the default gateway for these VLAN's using the second IP of each subnet (10.5.20.2, 10.5.50.2, etc)
The switch will also serve as DHCP server

switch#sh run | sec ip dhcp pool VLAN20|VLAN50
ip dhcp pool VLAN20
network 10.5.20.0 255.255.255.0
default-router 10.5.20.2
dns-server 8.8.8.8 8.8.4.4

ip dhcp pool VLAN50
network 10.5.50.0 255.255.255.0
default-router 10.5.50.2
dns-server 8.8.8.8 8.8.4.4

switch#sh run | sec ip dhcp exclu
ip dhcp excluded-address 10.5.20.1 10.5.20.20
ip dhcp excluded-address 10.5.50.1 10.5.50.20


switch#show ip dhcp pool
Pool VLAN20 :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 0
Excluded addresses : 20
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased/Excluded/Total
10.5.20.25 10.5.20.1 - 10.5.20.254 0 / 20 / 254


Pool VLAN50 :
Utilization mark (high/low) : 100 / 0
Subnet size (first/next) : 0 / 0
Total addresses : 254
Leased addresses : 2
Excluded addresses : 10
Pending event : none
1 subnet is currently in the pool :
Current index IP address range Leased/Excluded/Total
10.5.50.17 10.5.50.1 - 10.5.50.254 2 / 10 / 254


=======================================================

Currently, I have 2 network cables connected between my server and my switch
gb0: 10.5.50.10 /24 being used for Management traffic
gb1: 10.5.20.10 /24 being used for jail and data traffic

The reason I did this will be explained in just a second and is actually a workaround for one of my problems.


Let us begin with problem 1:

Creating a jail with a static IP does not work.

Jail Summary
Release : 11.2-RELEASE
Jail Name : unifi2
VNET Virtual Networking : Yes
IPv4 Address : igb1|10.5.20.11/24
Default Router For IPv4 : 10.5.20.2


So now I start the jail

When I go to the jail Shell and type ifconfig, I only see interface lo0 and obviously, the jail has no network connectivity. Freenas completely ignores my Static IP configuration.


I tried configuring the IP manually via the jail shell but that doesn't work either.

I tried this, just in command line:
ifconfig epair0b inet 10.5.50.11 netmask 255.255.255.0

I tried modifying /etc/rcconf by adding this:
Ifconfig_epair0b="inet 10.5.50.11 netmask 255.255.255.0"
defaultrouter="10.5.50.2"


/etc/rc.d/netif restart

The GUI doesn't recognize this IP and either keep showing the previously obtained IP via DHCP or even shows 0.0.0.0



If I create the same jail using DHCP, it's a whole different story but takes us to the second problem I'm having.

Jail Summary
Jail Name : unifi3
Release : 11.2-RELEASE
DHCP Autoconfigure IPv4 : Yes
VNET Virtual Networking : Yes


When I click start, the jail will receive an IP from the 10.5.50.0 subnet, using the gb0 interface, which I do not want. You could say, what's the big deal?
Well the deal is that it disconnects me from FreeNas.

While it's starting the jail, I get a nice loading screen, then the message

? Connecting to NAS... Make sure the NAS system is powered on and connected to the network.
Please wait


and the ping I was doing to my FreeNas IP gets interrupted

Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.200.1: TTL expired in transit.
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63
Reply from 10.5.50.10: bytes=32 time<1ms TTL=63


When it recovers, I still see the "Please wait" loading screen and it never goes away unless I refresh the page. (actually left it a whole night, just to make sure I wasn't impatient)

This behavior is showing anytime I stop or start any jail that is using the same physical interface as my server itself (gb0)


The difference with the Static IP config though, is that when I go into the jail shell and type ifconfig, I see

lo0
AND
epair0b, which in this example got IP 10.5.50.16

and network connectivity works just fine.


I saw a couple of Youtube videos about people installing Plex and Unifi Controller and they all suggest using DHCP but obviously for a Unifi Controller, that's just not practical as the AP's would need to contact the Controller and if the controller's IP changes... you get the issue.


Has anyone ever experienced anything like this?
I searched the FreeNas bugs and didn't find anything.
I searched the forum and didn't find any similar case.

How is your setup? Do you use Static IP's? Do you configure it via GUI or manually? If manually, how do you do it?

PS: I added some screenshots that I took earlier so IP addresses might not be exactly the same as in my most recent examples but you get the picture.

Thank you all.

Kind regards,
Steve
 

Attachments

  • freenas_jail-create_03.JPG
    freenas_jail-create_03.JPG
    103 KB · Views: 571
  • freenas_jail-create_05.JPG
    freenas_jail-create_05.JPG
    118.3 KB · Views: 520
  • freenas_jail-create_losing connection.JPG
    freenas_jail-create_losing connection.JPG
    14.4 KB · Views: 518
  • freenas_jail-create_losing connection_03.JPG
    freenas_jail-create_losing connection_03.JPG
    11.1 KB · Views: 469

rvassar

Guru
Joined
May 2, 2018
Messages
972

ambiorix

Cadet
Joined
Feb 22, 2019
Messages
4
Hi @rvassar,

Thank you for the quick reply.
I guess I didn't use the correct keywords (iocage, vnet) when searching.


I'm actually very surprised there's such a major bug in the latest STABLE release.


This is the proposed solution in the post
Stop all jails
edit one jail's properties
go to Network Properties
set vnet_default_interface to auto, from none.
Save (you may need to uncheck and recheck DHCP Autoconfigure in Basic before Save becomes available)
Start your jail(s).

In my case, this doesn't apply as it's really for people that created the jail on 11.2-U1, upgraded to U2. I immediately installed on U2 so the vnet_default_interface is already set to auto. I tried setting it to a specific interface (gb1) but the IP wouldn't change. It would keep the previously obtained IP via gb0

I guess I'll just have to wait for another release in which hopefully, this will get fixed...
 
Top