###Network Configuration Overview###
2-Modes
1. Local Files Mode - config is defined statically via key files
2. Network Client Mode - DHCP is used to auto-config interface(s)
Current Dell PE server has 3 NICs:
1. e1000g0 - plumbed (configured for network client mode)
2. iprb0 - unplumbed
3. iprb1 - unplumbed
1-Virtual Mandatory interface lo0 - loopback
Determine physical interfaces using 'dladm show-dev | show-link'
Determine plumbed and loopback interfaces using 'ifconfig -a'
NIC naming within Solaris OS: i.e. e1000g0 - e1000g(driver name) 0(instance)
Layers 2 & 3 info. - ifconfig -a, or ifconfig e1000g0
Layer 1 info. - dladm show-dev | show-link
###Key network configuration files###
svcs -a | grep physical
svcs -a | grep loopback
1. IP Address - /etc/hostname.e1000g0, /etc/hostname.iprb0 | iprb1
2. Domain name - /etc/defaultdomain - linuxcbt.internal
3. Netmask - /etc/inet/netmasks - 192.168.1.0 255.255.255.0
4. Hosts database - /etc/hosts, /etc/inet/hosts - loopback & ALL interfaces
5. Client DNS resolver file - /etc/resolv.conf
6. Default Gateway - /etc/defaultrouter - 192.168.1.1, 172.16.20.1, 10.0.0.1
7. Node name - /etc/nodename
Name service configuration file - /etc/nsswitch.conf
netstat -D - returns DHCP configuration for ALL interfaces
ifconfig -a - returns configuration for ALL interfaces
Reboot system after transitioning from network client(DHCP) mode to local files(Static) mode
mv dhcp.e1000g0 to some other name or remove the file so that the DHCP agent is NOT invoked
echo "linuxcbtsun1" > /etc/nodename
###Plumb/enable the iprb0 100Mb/s interface###
Plumbing interfaces is analagous to enabling interfaces
Note: 172.16.20.11 is a Linux host waiting to communicate with iprb0 interface
Steps:
1. ifconfig iprb0 plumb up - this will enable iprb0 interface
2. ifconfig iprb0 172.16.20.10 netmask 255.255.255.0 - this will enable layer-3 IPv4 address
Steps to UNplumb an interface:
1. ifconfig iprb0 unplumb down
###Ensure that newly-plumbed interface settings persists across reboots###
Steps include updating/creating the following files:
1. echo "172.16.20.10" > /etc/hostname.iprb0
2. create entry in /etc/hosts - 172.16.20.10 linuxcbtsun1
3. echo "172.16.20.0 255.255.255.0" >> /etc/inet/netmasks
Note: To down interface, execute:
ifconfig interface_name down
ifconfig iprb0 down && ifconfig iprb0
###Sub-interfaces/Logical Interfaces###
e1000g0(physical interface) - 192.168.1.50(Primary Apache website)
192.168.1.51(Secondary Apache website)
192.168.1.52(Used for SSH)
iprb0 - 172.16.20.10
iprb1
Use 'ifconfig interface_name addif ip_address
ifconfig e1000g0 addif 192.168.1.51 (RFC-1918 - defaults /24)
Note: This will automatically create an 'e1000g0:1' logical interface
Note: Solaris places new logical interface in DOWN mode by default
Note: use 'ifconfig e1000g0:1 up' to bring the interface up
Note: logical/sub-interfaces are contingent upon physical interfaces
Note: if physical interface is down, so will the logical interface(s)
Note: connections are sourced using IP address of physical interface
###Save logical/sub-interface configuration for persistence across reboots###
1. gedit /etc/hostname.e1000g0:1 - 192.168.1.51
2. gedit /etc/hostname.e1000g0:2 - 192.168.1.52
3. Optionally update /etc/hosts - /etc/inet/hosts
4. Optionally update /etc/inet/netmasks - when subnetting
Note: To remove logical interface execute the following:
ifconfig physical_interface_name removeif ip_address
ifconfig iprb0 removeif 172.16.20.20
###/etc/nsswitch.conf - name service configuration information ###
functions as a policy/rules file for various resolution:
1. DNS
2. passwd(/etc/passwd,/etc/shadow),group(/etc/group)
3. protocols(/etc/inet/protocols)
4. ethers or mac-to-IP mappings
5. hosts - where to look for hostname resolution: files(/etc/hosts) dns(/etc/resolv.conf)
============================== NETSTAT ========================
###NETSTAT###
Lists connections for ALL protocols & address families to and from machine
Address Families (AF) include:
INET - ipv4
INET6 - ipv6
UNIX - Unix Domain Sockets(Solaris/FreeBSD/Linux/etc.)
Protocols Supported in INET/INET6 include:
TCP, IP, ICMP(PING(echo/echo-reply)), IGMP, RAWIP, UDP(DHCP,TFTP,etc.)
Lists routing table
Lists DHCP status for various interfaces
Lists net-to-media table - network to MAC(network card) table
###NETSTAT Usage###
netstat - returns sockets by protocol using /etc/services for lookup
/etc/nssswitch.conf is consulted by netstat to resolve names for IPs
netstat -a - returns ALL protocols for ALL address families (TCP/UDP/UNIX)
netstat -an - -n option disables name resolution of hosts & ports
netstat -i - returns the state of interfaces. pay attention to errors/collisions/queue columns when troubleshooting performance
netstat -m - returns streams(TCP) statistics
netstat -p - returns net-to-media info (MAC/layer-2 info.) i.e. arp
netstat -P protocol (ip|ipv6|icmp|icmpv6|tcp|udp|rawip|raw|igmp) - returns active sockets for selected protocol
netstat -r - returns routing table
netstat -D - returns DHCP configuration (lease duration/renewal/etc.)
netstat -an -f address_family
netstat -an -f inet|inet6|unix
netstat -an -f inet - returns ipv4 only information
netstat -n -f inet
netstat -anf inet -P tcp
netstat -anf inet -P udp