public function isPrivate()
    {
        if (!$this->isIpSet()) {
            throw new \Exception('No IP Set');
        }
        if (
            ($this->isIPv4() &&
                (strpos($this->ipHex, '0a') === 0 //10.0.0.0/8
                || strpos($this->ipHex, 'ac1') === 0 //172.16.0.0/12
                || strpos($this->ipHex, 'c0a8') === 0 //192.168.0.0/16
                )
            )
            ||
            ($this->isIPv6() &&
                (strpos($this->ipHex, 'fc') === 0 //fc00::/7
                || strpos($this->ipHex, 'fd') === 0 //fd00::/7
                || strpos($this->ipHex, 'ffff0a') === 20 //::ffff:10.0.0.0/8
                || strpos($this->ipHex, 'ffffac1') === 20 //::ffff:172.16.0.0/12
                || strpos($this->ipHex, 'ffffc0a8') === 20 //::ffff:192.168.0.0/16
                )
            )
        ) {
            return true;
        }

        return false;
    }