Pages

Thursday, December 23, 2021

Tanzu, Kubernetes (K8s) - Links self-study

 

vSphere with Tanzu

 

01_VMware Tanzu Editions Comparison | VMware Tanzu

02_ModernApps by VMware Tanzu Home

03_Courses - KubeAcademy

04_Tanzu Labs

05_PathfinderTanzu

06_VMware vSphere with Tanzu | VMware

07_GitHub - ModernAppsNinja/modernappsninja.github.io

08_VMware Tanzu Documentation

09_Tanzu Standard Getting Started Guide | Tanzu Standard Getting Started Guide

10_Certified Kubernetes Administrator Study Guide | Certified Kubernetes Administrator Study Guide

Extra01_Kubernetes Documentation | Kubernetes

11_Prerequisites for Configuring vSphere with Tanzu on a Cluster

12_Tanzu Glossary | Tanzu Glossary

13_GitHub - lamw/VMware.WorkloadManagement: PowerCLI Module for vSphere with Kubernetes

14_vSphere Tanzu with AVI Load Balancer | VMTECHIE

15_VMware vSphere with Tanzu Release Notes

kubectl Cheat Sheet | Kubernetes

GitHub - mreferre/yelb: A sample application

 

 

Free learning + opensource 

Contour

Antrea

Project Calico - Tigera

Velero

Prometheus - Monitoring system & time series database

Grafana: The open observability platform | Grafana Labs

GitHub - vmware-tanzu/octant: Highly extensible platform for developers to better understand the complexity of Kubernetes clusters.

Fluent Bit

Kubernetes - Traefik | Site | v1.7

Production Kubernetes | VMware Tanzu

Service | Kubernetes

Tanzu Community Edition

Learning.Kasten.io - Free Kubernetes Training

Introduction to Kubernetes (LFS158x) - Linux Foundation - Training

Monday, December 20, 2021

VRA 8.6 and vSphere 6.7 U3 SDRS

 

We completed our homework related to SDRS testing with vRA8.Testing was performed on vRA8 DEV env and in our DEV vCenter, we have dedicated storage cluster with 2x5TB LUNs with SDRS set up to full auto. Both advance properties VraInitPlacement and VraExpandDisk are set to 1. Same storage cluster is used for vRA7 deployments where everything works as expected.

 

There are 3 scenarios as we discussed, here are the results:

1)      Standard SDRS placement

More scenarios was tested.

a)       There was only 400GB per LUN free space remaining. Single machine requested with 70GB OS disk and 2x 350GB data.

b)      300GB free space on one LUN, 500GB free space on another. Single machine requested with 70GB OS disk and 2x 350GB data. Some files were moved for LUN with 300GB free space to be able store 350GB drive.

Placement from vCenter(no vRA) directly

Placement from vRA8

Result: Passed. Both worked as expected.

 

2)      Multi deployment

More deployments in single request to verify if the same recommendation is used for both. 2 machines with 70GB OS drive and 350GB data drive. 500GB of free space on both LUNs.

One machine was deployed successfully, second one failed with error: Provisioning operation failed. Error from vCenter: Insufficient disk space on datastore 'LID021_001'.

Result: Failed. Seems that same recommendation was passed to both deployments. Deployments are from single request, but separate in vRA and they were approved almost in the same time.

 

3)      Existing drive extension

Extension of data drive with not enough space for extension on LUN. On both LUNs was 200GB free space. Existing 350GB drive was requested to be extended about 300GB. Expectation was that some files from LUN where data drive is located will be moved to second one.

Result: Failed. No files were moved to have enough space for extension on affected LUN. Action failed with there is not enough space on LUN.

 

Seems vRA8 doesn’t use by default property(VirtualMachine.Admin.Datastore.Cluster.ResourceLeaseDurationSec 3600) necessary to utilize properties set up on vCenter. Is it possible to define it somewhere in blueprint (as on 7) or inject in request?

 

Thursday, December 16, 2021

VMware NSX-T & Cisco ACI - VMware KB 57780

Vyjádření k VMware KB 57780 - https://kb.vmware.com/s/article/57780

Vyjádření k technické integraci

Cisco ACI VMM integrace využívá pro integraci mezi Cisco APIC (ACI management) a NSX -T Managerem (NSX management) veřejné NSX-T API.

Přes to veřejné API Cisco APIC vytváří NSX-T segmenty (L2 segmenty), které jsou backované VLANama  (Cisco VLANám říká EPG – Endpoint Groups), které jsou routované fyzickými prvky ACI.

Takováto síťová architektura může naprosto bez problému koexistovat s NSX-T segment, kter0 jsou backované 

Vyjádření k VMware supportu

Komentáře k jednotlivým odstavcům z KB článku.

VMware supports vSphere, NSX-T, and all features available through public APIs.“

Z tohoto pohledu je výše uvedená integrace podporována. 

“Any API level integration implemented by a third-party vendor/editor outside of a certified partner program is a customer’s responsibility and is not supported by VMware.

Z tohoto pohledu je zodpovědnost za výše uvedenou integraci na zákazníkovi, případně jeho dodavateli automatizace využívající veřejné VMware API. V tomto případě Cisco, které se tomu vůbec nevyhýbá, ba naopak. Viz. https://www.youtube.com/watch?v=6brL3taS6V8&t=224s a komentáře pod školícím modulem.

Jinak K VMware API lze dokoupit speciální support (https://www.vmware.com/cz/support/services/sdk.html), ale to je v tomto případě zbytečné, jelikož takovou podpouru zajišťuje Cisco. Zákaznící si takový support add-on kupují v případě, že si nějakou integraci vyvíjí sami.

Cisco ACI VMM and related ACI integrations leverage the vSphere and NSX-T APIs but developed outside of any formal partner program and not supported by VMware.”

Znovu je tu řečeno, že ACI VMM integrace používá veřejné VMware API, ke kterému reálně ani neexistuje žádný formální certifikační program, takže to VMware Support ani nemůže supportovat.

For Support Requests directly related to the ACI VMM and related ACI integrations with NSX-T components and how it interacts with vSphere and NSX-T, VMware will request removal of the Cisco VMM component for troubleshooting purposes as per support policy https://www.vmware.com/support/policies/thirdparty.html.

  • If the issue is reproducible without the Cisco VMM component, VMware will support and investigate as normal.
  • If the issue is not reproducible after removing the ACI VMM component, VMware will not investigate further.

Když by zákazník měl otevřený supportní případ, kde by mohla být nějaká souvislost s ACI VMM integrací, tak support může požádat o odinstalování integrace z důvodu troubleshootingu. To by v tomto případě vůbec ničemu nevadilo, protože Cisco ACI VMM pouze automatizuje vytváření NSX-T segmentů, které by tam zůstaly a vše co na nich běží by fungovalo. Cisco ACI VMM Integrace pouze zjednodušuje (automatizuje) přidávání NSX-T segmentů a ACI VLAN (EPG), což by během troubleshootingu nebylo možné, ale to není nic kritického.

 

Závěr

Obě řešení

(1) VMware NSX-T software-defined routing i

(2) Cisco ACI VMM hardware routing

jsou validní a supportovaná řešení.

Řešení (1) je plně supportováno VMwarem bez třetích stran.

Řešení (2) je supportováno společnostmi VMware a Cisco, takže v případě potřeby je potřeba mít otevřeny supportní případy u obou vendorů.

VMware si myslí, že v dnešní době je software-defined network routing výhodnější pro většinu případů použití v rámci moderních data center.

Cisco si myslí, že hardware routing je výhodnější pro většinu případů použití v rámci data center.

Obě řešení mohou co-existovat na jedné infrastructure a mohou být zvolena dle konkrétních potřeb zákazníka.

Pouze praxe dokáže pravdivost výše uvedených tvrzení.

Je to velmi podobná diskuse, jestli určité aplikace je nebo není možné provozovat ve virtualizovaných serverech.

Zákazník vlastnící technologie NSX-T a Cisco ACI se může kdykoliv rozhodnout jaký způsob routingu zvolí a nijak ho to nelimituje.

Public Cloud Pre-Sales Experts

AWS -  Vladimir Simek
Azure - Tomáš Kubica
GCP - Marek Brazina 

Saturday, November 27, 2021

FreeBSD - OpenVPN

Client behind NAT establishing connection

file /etc/rc.conf

openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/client/client.conf"

file /usr/local/etc/openvpn/client/client.conf

client
tls-client
 
cipher AES-256-CBC
pull
dev tun
proto udp
remote 104.248.252.189 1194
nobind
user nobody
group nogroup
persist-key
persist-tun
key-direction 1
tls-auth /usr/local/etc/openvpn/client/ta.key 1
comp-lzo
verb 3
ca /usr/local/etc/openvpn/client/ca.crt
cert /usr/local/etc/openvpn/client/client.crt
key /usr/local/etc/openvpn/client/client.key
remote-cert-tls server

Server in cloud

file /etc/rc.conf

openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/server/server.conf" 
nginx_enable="YES"

file /usr/local/etc/openvpn/server/server.conf

port 1194
proto udp
dev tun
ca /usr/local/etc/openvpn/server/ca.crt
cert /usr/local/etc/openvpn/server/issued/server.crt
key /usr/local/etc/openvpn/server/private/server.key
dh /usr/local/etc/openvpn/server/dh.pem
topology subnet
server 172.16.166.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir /usr/local/etc/openvpn/server/ccd
route 192.168.4.0 255.255.255.0
route 192.168.7.0 255.255.255.0
route 192.168.9.0 255.255.255.0
keepalive 10 120
tls-auth /usr/local/etc/openvpn/server/ta.key 0 # This file is secret
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append  /var/log/openvpn/openvpn.log
verb 3

/usr/local/etc/openvpn/server/ccd/client

iroute 192.168.4.0 255.255.255.0
iroute 192.168.7.0 255.255.255.0
iroute 192.168.9.0 255.255.255.0

Sources:

Friday, November 12, 2021

FreeBSD NAT redirect_port

/etc/rc.conf

gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
firewall_nat_enable="YES"
firewall_nat_interface="em1" 

/etc/rc.firewall

For automatic configuration edit /etc/rc.firewall, search for ${firewall_type}=[Oo][Pp][Ee][Nn] and in section  firewall_nat_enable add following two lines.

${fwcmd} nat 1 config if ${firewall_nat_interface} redirect_port tcp 192.168.100.252:80 80
${fwcmd} add 50 nat 1 ip4 from any to any via ${firewall_nat_interface}

 

Monday, November 8, 2021

Task & Project Management nástroje

 Seznam evaluovaných nástrojů pro Task & Project Management
•    ClickUp
•    Asana
•    Monday.com
•    Smartsheet
•    Trello (Atlassian)

Osobně používám Monday.com několik měsíců za účelem task managementu pro všechny mé TAM zákazníky včetně PČR. Pro osobní task management jsem zkoušel jsem ClickUp, který nabízí omezenou variantu zdarma a viděl jsem prezentace a dema na všechny nástroje přímo od vendorů.

Kdybyste chtěli znát můj osobní žebříček nástrojů, tak zatím to mám takto

1.    Asana, ClickUp, Monday.com
2.    Trello (Atlassian)
3.    Smartsheet

Tři nástroje na prvním místě mají velmi podobnou koncepci a umožňují velmi agilní projektový management včetně managementu utilizace (lidských) zdrojů.

Můj osobní názor je, že pro moje konkrétní potřeby jsem schopen použít jakýkoliv ze třech nástrojů na prvním místě, ale nejtěžší je zavést správný process a metodiku k používání jakéhokoliv z těchto nástroju, protože to není pouze o jednom člověku, ale o týmové spolupráci, takže to musí používat všichni v týmu a to je vlasntě nejsložitější, jelikož to vyžaduje trénink, dril a morálku.

Thursday, October 21, 2021

vSAN license not applied correctly

Summary
After the evaluation license expired the enterprise license was applied
The licensed features do not get passed down to the host

Cause
Engineering is aware of this issue in 6.7 and they are actively working to implement a fix for it in 6.7p06

Resolution
We manually applied the licensed features by using the following commands -

esxcfg-advcfg -s vit,allflash,stretchedcluster,erasurecoding,iopslimit,storageefficiency /VSAN/LicensedFeatures
 

Friday, September 17, 2021

RedHat - SCSI adapter

Troubleshooting commands

lspci -nnvv | grep -i SCSI -A 1
 

lsscsi
 

lsblk
 

dmesg | tail -40
 

dmesg | grep -i scsi


NUMA tunning

Advanced Virtual NUMA Attributes

VM settings

https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.resmgmt.doc/GUID-89C52376-60C3-452A-A269-9F4F7FE489C6.html

NUMA nodes are heavily load imbalanced causing high contention for some virtual machines (2097369) - https://kb.vmware.com/s/article/2097369

/Numa/LocalityWeightActionAffinity as 0

 

Thursday, September 16, 2021

Read IO spike every 5 minutes for 7.0U1 (84220)

 

Symptoms
  • Storage array experiencing continuous 5 minute read spike and high CPU utilization.
  • Other storage computations like deduplication and compression can be delayed or stalled.
  • In our case it was huge environment  (200-300 host)  connected to  Pure storage array
Purpose
This article will explain the reason and provide workaround or fix.
Cause

A change was made ( in 7.0U1):

In hostd to make API call every 5 minutes.
In VMFS a new lighter API was added to get the required stat.

Impact / Risks
Storage overutilization in case of large amount o hosts and large amount of datastores.
Resolution
Not available yet
Workaround

Changing /etc/vmware/hostd/config.xml on each host.
We can recommend to try to 12 hours for customer . Changing vmfsStatsIntervalInSecs=43200.
 

A one liner to perform this task:

sed -i -e 's/<vmfsStatsIntervalInSecs>.*>/<vmfsStatsIntervalInSecs>21600<\/vmfsStatsIntervalInSecs>/g' /etc/vmware/hostd/config.xml;/etc/init.d/hostd restart
Related Information
30 mins  = vmfsStatsIntervalInSecs=1800
1  hour = vmfsStatsIntervalInSecs=3600
3  hours = vmfsStatsIntervalInSecs=10800
6  hours = vmfsStatsIntervalInSecs=21600
12 hours = vmfsStatsIntervalInSecs=43200
Default setting in  etc/vmware/hostd/config.xml
 <!-- Vmfs stats collection interval -->                                                                                 
 <!-- Min value:5 mins Default Value:5 mins - in terms of seconds -->                                                    
 <!-- Setting it below 5 mins will reset it back to 5 mins,due to perf impact on VMFS -->                                
 <vmfsStatsIntervalInSecs> 300 </vmfsStatsIntervalInSecs>      
 
 
Confidential or Internal Information


https://bugzilla.eng.vmware.com/show_bug.cgi?id=2580232 change was made ( in 7.0U1)

The relevant PR for this KB https://bugzilla.eng.vmware.com/show_bug.cgi?id=2788282

 

- Note: hostd datastore refresh invoking VMFS datastore refresh
Vol3GetAttributesVMFS6 -> Res3StatVMFS6 can end up in reading a lot of VMFS
metadata.

- The amount of VMFS metadata read would be proportional to both size of VMFS
datastore and the number of VMFS datastores on ESXi server.

Monday, August 16, 2021

FreeBSD DHCP & DNS Server

FreeBSD OS Configuration

FILE /etc/rc.conf

hostname="fbsd01.dpasek.com"
ifconfig_vmx0="inet 192.168.58.1 netmask 255.255.255.0"
defaultrouter="192.168.58.254"

sshd_enable="YES"
ntpd_enable="YES"
ntpdate_enable="YES"

# VMware Tools
vmware_guest_vmblock_enable="YES"
vmware_guest_vmhgfs_enable="YES"
vmware_guest_vmmemctl_enable="YES"
vmware_guest_vmxnet_enable="YES"
vmware_guestd_enable="YES"

# DNS Server
named_enable="YES"
# DHCP Server
dhcpd_enable="YES"
dhcpd_ifaces="vmx0"

Restart the network configuration:
/etc/rc.d/netif restart
/etc/rc.d/routing restart

Software installation
pkg update
pkg install -y open-vm-tools-nox11
pkg install -y isc-dhcp44-server
pkg install -y bind916

OS Tuning

Edit FILE $HOME/.profile
PS1="[${LOGNAME}@$(hostname)]$ ";        export PS1

 

FILE /usr/local/etc/dhcpd.conf

# dhcpd.conf
#
# Sample configuration file for ISC dhcpd
#

# option definitions common to all supported networks...
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;

default-lease-time 600;
max-lease-time 7200;

# Use this to enble / disable dynamic dns updates globally.
#ddns-update-style none;

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;

# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;

####################################################
# DC-MGMT subnet declaration
####################################################
subnet 192.168.4.0 netmask 255.255.255.0 {
  range 192.168.4.148 192.168.4.198;
  option routers 192.168.4.254;
  option domain-name-servers 192.168.4.5;
  option domain-search "home.uw.cz";
  option broadcast-address 192.168.4.255;
}

####################################################
# CAMPUS subnet declaration
####################################################
subnet 192.168.5.0 netmask 255.255.255.0 {
  range 192.168.5.100 192.168.5.199;
  option routers 192.168.5.254;
  option domain-name-servers 192.168.4.5;
  option domain-search "home.uw.cz";
  option broadcast-address 192.168.5.255;
}

####################################################
# HOME-AUTOMATION  subnet declaration
####################################################
subnet 192.168.7.0 netmask 255.255.255.0 {
  range 192.168.7.100 192.168.7.199;
  option routers 192.168.7.254;
  option domain-name-servers 192.168.4.5;
  option domain-search "home.uw.cz";
  option broadcast-address 192.168.7.255;
}

####################################################
# STATIC ASIGNMENTS
####################################################

host printer {
  # MX350 - lan
  # hardware ethernet 00:1e:8f:89:59:4e;
  # wifi
  # MX350 - wifi
  # hardware ethernet 00:1e:8f:df:e0:f5;
  # MB2750 - lan
  # hardware ethernet f8:0d:60:24:ab:85;
  # MB2750 - wifi
  hardware ethernet 00:1e:8f:89:59:4e;
  fixed-address 192.168.5.10;
}

host apc01 {
  hardware ethernet 00:C0:B7:CE:40:D9;
  fixed-address 192.168.4.11;
  option host-name "apc01";
  option domain-name "home.uw.cz";
}

host apc02 {
  hardware ethernet 00:C0:B7:60:D6:93;
  fixed-address 192.168.4.12;
  option host-name "apc02";
  option domain-name "home.uw.cz";
}

FILE /usr/local/etc/namedb/named.conf

options {
        // All file and path names are relative to the chroot directory,
        // if any, and should be fully qualified.
        directory       "/usr/local/etc/namedb/working";
        pid-file        "/var/run/named/pid";
        dump-file       "/var/dump/named_dump.db";
        statistics-file "/var/stats/named.stats";
        allow-query     { any; };
        allow-transfer  { any; };

// If named is being used only as a local resolver, this is a safe default.
// For named to be accessible to the network, comment this option, specify
// the proper IP address, or delete this option.
        listen-on       { 127.0.0.1; 192.168.4.5; };

// These zones are already covered by the empty zones listed below.
// If you remove the related empty zones below, comment these lines out.
        disable-empty-zone "255.255.255.255.IN-ADDR.ARPA";
        disable-empty-zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";
        disable-empty-zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA";

// If you've got a DNS server around at your upstream provider, enter
// its IP address here, and enable the line below.  This will make you
// benefit from its cache, thus reduce overall DNS traffic in the Internet.
        forwarders {
                8.8.8.8; 8.8.4.4;
        };
};

// The traditional root hints mechanism. Use this, OR the slave zones below.
zone "." { type hint; file "/usr/local/etc/namedb/named.root"; };

// RFCs 1912, 5735 and 6303 (and BCP 32 for localhost)
zone "localhost"        { type master; file "/usr/local/etc/namedb/master/localhost-forward.db"; };
zone "127.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/localhost-reverse.db"; };
zone "255.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// RFC 1912-style zone for IPv6 localhost address (RFC 6303)
zone "0.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/localhost-reverse.db"; };

// "This" Network (RFCs 1912, 5735 and 6303)
zone "0.in-addr.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// Private Use Networks (RFCs 1918, 5735 and 6303)
zone "10.in-addr.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "16.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "17.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "18.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "19.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "20.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "21.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "22.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "23.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "24.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "25.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "26.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "27.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "28.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "29.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "30.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "31.172.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "168.192.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// Shared Address Space (RFC 6598)
zone "64.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "65.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "66.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "67.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "68.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "69.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "70.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "71.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "72.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "73.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "74.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "75.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "76.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "77.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "78.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "79.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "80.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "81.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "82.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "83.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "84.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "85.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "86.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "87.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "88.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "89.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "90.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "91.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "92.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "93.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "94.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "95.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "96.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "97.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "98.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "99.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "100.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "101.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "102.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "103.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "104.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "105.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "106.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "107.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "108.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "109.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "110.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "111.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "112.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "113.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "114.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "115.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "116.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "117.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "118.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "119.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "120.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "121.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "122.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "123.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "124.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "125.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "126.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "127.100.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// Link-local/APIPA (RFCs 3927, 5735 and 6303)
zone "254.169.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IETF protocol assignments (RFCs 5735 and 5736)
zone "0.0.192.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// TEST-NET-[1-3] for Documentation (RFCs 5735, 5737 and 6303)
zone "2.0.192.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "100.51.198.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "113.0.203.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IPv6 Example Range for Documentation (RFCs 3849 and 6303)
zone "8.b.d.0.1.0.0.2.ip6.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// Router Benchmark Testing (RFCs 2544 and 5735)
zone "18.198.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "19.198.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IANA Reserved - Old Class E Space (RFC 5735)
zone "240.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "241.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "242.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "243.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "244.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "245.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "246.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "247.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "248.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "249.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "250.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "251.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "252.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "253.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "254.in-addr.arpa" { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IPv6 Unassigned Addresses (RFC 4291)
zone "1.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "3.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "4.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "5.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "6.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "7.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "8.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "9.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "a.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "b.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "c.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "d.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "e.ip6.arpa"       { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "0.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "1.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "2.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "3.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "4.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "5.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "6.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "7.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "8.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "9.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "a.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "b.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "0.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "1.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "2.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "3.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "4.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "5.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "6.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "7.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IPv6 ULA (RFCs 4193 and 6303)
zone "c.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "d.f.ip6.arpa"     { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IPv6 Link Local (RFCs 4291 and 6303)
zone "8.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "9.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "a.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "b.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IPv6 Deprecated Site-Local Addresses (RFCs 3879 and 6303)
zone "c.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "d.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "e.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };
zone "f.e.f.ip6.arpa"   { type master; file "/usr/local/etc/namedb/master/empty.db"; };

// IP6.INT is Deprecated (RFC 4159)
zone "ip6.int"          { type master; file "/usr/local/etc/namedb/master/empty.db"; };

zone "home.uw.cz" {
        type master;
        file "/usr/local/etc/namedb/master/home.uw.cz.db";
};

zone "robo-p6.uw.cz" {
        type slave;
        file "/usr/local/etc/namedb/slave/robo-p6.uw.cz.slave";
        masters {
                192.168.162.250;
        };
        notify yes;
};

FILE /usr/local/etc/namedb/master/home.uw.cz.db

$TTL 10800
home.uw.cz.    IN      SOA      ns1.home.uw.cz. dpasek.home.uw.cz. (
                                2022011101      ; Serial
                                10800           ; Refresh
                                3600            ; Retry
                                604800          ; Expire
                                300             ; Negative Response TTL
                        )

; DNS Servers
                IN      NS      ns1.home.uw.cz.

; MX Records
;                IN      MX 10   mx.example.org.
;                IN      MX 20   mail.example.org.

; Segment VLAN 4 - 192.168.4.0/24
is01            IN      A       192.168.4.4
ns1             IN      A       192.168.4.5
apc01           IN      A       192.168.4.11
apc02           IN      A       192.168.4.12
;ns2             IN      A       192.168.4.20
nas-sata        IN      A       192.168.4.21
nas-ssd         IN      A       192.168.4.22
mwin01          IN      A       192.168.4.23
mwin02          IN      A       192.168.4.25
syslog          IN      A       192.168.4.51
vro             IN      A       192.168.4.53
vrepl           IN      A       192.168.4.54
backup          IN      A       192.168.4.55
temp-garage     IN      A       192.168.4.94
nsxm            IN      A       192.168.4.99
vc01            IN      A       192.168.4.100
esx01           IN      A       192.168.4.101
esx02           IN      A       192.168.4.102
esx03           IN      A       192.168.4.103
esx04           IN      A       192.168.4.104
esx21           IN      A       192.168.4.121
esx22           IN      A       192.168.4.122
esx23           IN      A       192.168.4.123
esx24           IN      A       192.168.4.124

esx01-oob       IN      A       192.168.4.201
esx02-oob       IN      A       192.168.4.202
esx03-oob       IN      A       192.168.4.203
esx04-oob       IN      A       192.168.4.204
esx21-oob       IN      A       192.168.4.221
esx22-oob       IN      A       192.168.4.222
esx23-oob       IN      A       192.168.4.223
esx24-oob       IN      A       192.168.4.224

sw-dc-access    IN      A       192.168.4.253
sw-dc-core      IN      A       192.168.4.254

; Segment VLAN 5 - 192.168.5.0/24
printer         IN      A       192.168.5.10

; Segment VLAN 8 - 192.168.8.0/24
tdm             IN      A       192.168.8.1
vha        IN    A    192.168.8.2
shd        IN    A    192.168.8.3

; Segment VLAN 31 - 192.168.31.0/24
n-vc01          IN      A       192.168.31.100
n-esx01         IN      A       192.168.31.101
n-esx02         IN      A       192.168.31.102
n-esx03         IN      A       192.168.31.103
n-esx04         IN      A       192.168.31.104
n-esx05         IN      A       192.168.31.105
n-esx06         IN      A       192.168.31.106
n-esx07         IN      A       192.168.31.107
n-esx08         IN      A       192.168.31.108
n-esx09         IN      A       192.168.31.109
n-esx10         IN      A       192.168.31.110

; Aliases
loginsight      IN      CNAME   syslog.home.uw.cz.

FILE /usr/local/etc/namedb/master/p6.uw.cz.db

$TTL 86400
@       IN      SOA     ns1.p6.uw.cz. admin.p6.uw.cz. (
                        2024030902  ; Serial
                        3600        ; Refresh
                        1800        ; Retry
                        1209600     ; Expire
                        86400 )     ; Minimum TTL

        IN      NS      ns1.p6.uw.cz.

gw1     IN      A       10.160.4.254
ns1     IN      A       10.160.4.254
mwin01  IN      A       10.160.4.24
mlin01  IN      A       10.160.4.26
nsxm    IN      A       10.160.4.99
vc01    IN      A       10.160.4.100
esx11   IN      A       10.160.4.111
esx12   IN      A       10.160.4.112
esx13   IN      A       10.160.4.113
esx14   IN      A       10.160.4.114