sh code to determine if host is on lan
luzar722 at gmail.com
Fri Dec 7 22:07:23 UTC 2018
Doug McIntyre wrote:
> On Thu, Dec 06, 2018 at 07:53:37PM -0500, Ernie Luzar wrote:
>> Polytropon wrote:
>>> elOn Thu, 06 Dec 2018 16:06:35 -0700, JD wrote:
>>>> On 12/06/2018 03:14 PM, Ernie Luzar wrote:
>>>>> Hello list
>>>>> Know that "route -n get default" will give me the nic name of the
>>>>> interface connected upstream. That "ifconfig nic" will give me the ip
>>>>> address. That if that ip address is one of these ranges
>>>>> 192.168/16 or 172.16/12 or 10/8 then the host is on a lan.
> Hmm, I thought my host here was on a LAN..
> vmx0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> inet 184.108.40.206 netmask 0xffffffe0 broadcast 220.127.116.11
> inet6 2001:4980:2:dad::100 prefixlen 64
> And this one too..
> bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
> inet6 2001:4980:0:1000:21e:c9ff:feb5:663a prefixlen 64 autoconf
> inet6 2001:4980:0:ffff:21e:c9ff:feb5:663a prefixlen 64 autoconf
> Are you sure your definition of "LAN" is the correct term?
> What is it you are trying to determine?
Like most ISPs my ISP doesn't provide ipv6 service. So not interested in
it until it goes public nationwide.
Your 18.104.22.168 ipv4 address is public routeable. Looks like this
machine is running vm and the freebsd os is configured as the gateway to
the public internet. If it has a LAN behind it using ipv4 addresses,
then this gateway is also running a firewall with NAT so the LAN nodes
can reach the public internet.
I'm playing with 12.0-RC3 and vnet jails. Vnet jails come in two flavors
based on the hosts network topography. The host is either the gateway or
its a node on the lan. Lans use these reserved non-routeable ipv4
address ranges for network communication. If the host's default ip
address is in the range covered by one of theses 192.168/16 or 172.16/12
or 10/8 ranges then the host is a node on a lan. That is what I am
trying to determine in a sh script. I know that I can drill down through
a few standard commands to capture the hosts external ipv4 address easy
enough. But comparing it to the different ranges becomes a painful
I think I just figured out the simple method I was looking for. Just
issue the whois command using the captured hosts external ipv4 address
and interrogate the reply for "Private Use".
Thanks for every bodies replies.
More information about the freebsd-questions