Configure an anycast service von solaris
%ICON{wip}ICON{wip}ICON{wip}% WORK IN PROGRESS %ICON{wip}ICON{wip}ICON{wip}%
Create virtual loopback interface
ifconfig lo0:1 plump up ifconfig lo0:1 172.16.0.1 netmask 255.255.255.255
Persistent through reboots
=hostname.lo0:1=
172.16.0.1 netmask 255.255.255.255 up
Configure a DNS
groupadd -g 53 dnsadmin useradd -g dnsadmin -u 53 -d /var/named -s /bin/false dnsadmin usermod -A solaris.smf.manage.bind dnsadmin svcprop dns/server svccfg -s svc:network/dns/server:default setprop options/configuration_file=/etc/named.conf svccfg -s svc:network/dns/server:default setprop options/ip_interfaces=IPv4 svccfg -s svc:network/dns/server:default setprop start/user=dnsadmin svccfg -s svc:network/dns/server:default setprop start/group=dnsadmin svccfg -s svc:network/dns/server:default setprop options/debug_level=3 # svccfg -s svc:network/dns/server:default setprop options/chroot_dir=/var/named svcadm refresh svc:network/dns/server:default
# cat /etc/named.conf
options { directory "/var/named"; pid-file "/var/named/tmp/named.pid"; empty-zones-enable yes; };
zone "xyz.de" in { type master; file "xyz.de.zone"; };
zone "168.192.in-addr.arpa" in { type master; file "192.168.zone"; };
zone "16.172.in-addr.arpa" in { type master; file "172.16.zone"; };
zone "10.in-addr.arpa" in { type master; file "10.zone"; };
zone "arpa" in { type master; file "arpa.zone"; };
zone "." in { type hint; file "root.zone"; };
> cat /var/named/xyz.de.zone
$TTL 3h
@ IN SOA panama.xyz.de. dnsadmin.xyz.de. (
- ; Serial
3h ; Refresh after 3h
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
IN NS panama.xyz.de.
IN NS burma.xyz.de.
localhost IN A 127.0.0.1
panama IN A 192.168.111.48
burma IN A 192.168.111.8
fritzbox IN A 192.168.111.1
laos IN A 192.168.111.170
appleserver IN A 192.168.111.200
sparc IN CNAME panama
> cat /var/named/192.168.zone
$TTL 3h
@ IN SOA panama.xyz.de. dnsadmin.xyz.de. (
- ; Serial
3h ; Refresh after 3h
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
IN NS panama.xyz.de.
IN NS burma.xyz.de.
1.111 IN PTR fritzbox.xyz.de.
8.111 IN PTR burma.xyz.de.
48.111 IN PTR panama.xyz.de.
170.111 IN PTR laos.xyz.de.
200.111 IN PTR appleserver.xyz.de.
svcadm enable dns/server
Test the config
tail -50 /var/adm/messages ps -eadlf | grep named svcs dns/server nslookup panama.xyz.de nslookup 192.168.111.48
and a simpel DnsTestScript
Static routing
svcadm enable ipv4-forwarding
Das Netz 172.16.0.0 taucht nicht in der routing table von solaris auf!
root@panama:/root> netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ---------- --------- default 192.168.111.1 UG 1 358 192.168.111.0 192.168.111.48 U 1 325 hme0 224.0.0.0 192.168.111.48 U 1 0 hme0 127.0.0.1 127.0.0.1 UH 7 50 lo0
obwohl es direkt verbunden ist
root@panama:/root> ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 172.16.0.1 netmask ffff0000
hme0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2
inet 192.168.111.48 netmask ffffff00 broadcast 192.168.111.255
ether 8:0:20:a2:ba:5f
- have tried it as a small net
root@panama:/etc> ifconfig lo0:1 172.16.0.1/30
root@panama:/etc> ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
lo0:1: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 172.16.0.1 netmask fffffffc
hme0: flags=1100843<UP,BROADCAST,RUNNING,MULTICAST,ROUTER,IPv4> mtu 1500 index 2
inet 192.168.111.48 netmask ffffff00 broadcast 192.168.111.255
ether 8:0:20:a2:ba:5f
and with a static route for a directly connected host !!???!!
route add -net 172.16.0.0/30 172.16.0.1 -interface
—+++alternative
ifconfig lo0:1 172.16.0.1/32 route delete -net 172.16.0.0/30 172.16.0.1 -interface route add -host 172.16.0.1 172.16.0.1 -interface root@panama:/etc> netstat -rn Routing Table: IPv4 Destination Gateway Flags Ref Use Interface -------------------- -------------------- ----- ----- ---------- --------- default 192.168.111.1 UG 1 523 172.16.0.1 172.16.0.1 UH 1 0 lo0:1 192.168.111.0 192.168.111.48 U 1 327 hme0 224.0.0.0 192.168.111.48 U 1 0 hme0 127.0.0.1 127.0.0.1 UH 8 133 lo0
otherhost ~ $ ping 172.16.0.1 PING 172.16.0.1 (172.16.0.1): 56 data bytes 92 bytes from fritz.box (192.168.111.1): Redirect Host(New addr: 192.168.111.48) Vr HL TOS Len ID Flg off TTL Pro cks Src Dst - 5 00 0054 1218 0 0000 3f 01 8d9e 192.168.111.57 172.16.0.1 - bytes from 172.16.0.1: icmp_seq=0 ttl=255 time=6.169 ms 64 bytes from 172.16.0.1: icmp_seq=1 ttl=255 time=1.567 ms 64 bytes from 172.16.0.1: icmp_seq=2 ttl=255 time=4.655 ms ^C --- 172.16.0.1 ping statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 1.567/4.130/6.169/1.915 ms
—+++alternative
After a reboot i did not need the extra route, the forwarding seems to recognize the additional virtual host.
172.16.0.1 is reachable form the outside network.
If i set a static route on my router or at the host himself i can ping 172.16.0.1 from the outside net.
Dynamic routing via OSPF
Have alook at /etc/quagga/README.Solaris %ICON{more}%
Enable routing and disable forwarding
%ICON{info}% ipv4 routing is disabled if /etc/defaultrouter is not empty
echo "" > /etc/defaultrouter svcadm disable ipv4-forwarding svcadm enable route:default
Disable IPMP
Disable IPMP if machine is set up with it. To do this you will have to undo all the things you had done to configure IPMP on your system. Please see: %ICON{book}% http://docs.sun.com %ICON{go_forward}% Product Categories» Solaris » Solaris 10 %ICON{go_forward}% Solaris 10 System Administration Guide:IP services, Chapter 30 %ICON{more}% for configuration details of IPMP.
Configure OSPF
cd /etc/quagga cp zebra.conf.sample zebra.conf cp ospfd.HA.conf.sample ospfd.conf
Example /etc/quagga/zebra.conf and /etc/quagga/ospfd.conf
Start OSPF
svcadm enable zebra:quagga svcadm enable ospf:quagga
Configure cisco router
Conf t Router ospf 1 network 192.168.100.9 0.0.0.255 area 0.0.0.23 end
working (together with zebra.conf and ospfd.conf above) example cisco running-config
TODOS
passive interface default no passive interface <bla> interface rtk0 no ip ospf authentication-key ip ospf hello-interval 2 ip ospf dead-interval 4
Achtung auf beiden seiten!
Debugging
Connecting to the router
routeadm -m zebra:quagga vty_address="127.0.0.1" routeadm -m zebra:quagga vty_port="2601" routeadm -u /usr/sbin/quaggaadm zebra
routeadm -u seems not enough, so
svcadm disable zebra:quagga svcadm enable zebra:quagga
svcprop ospf:quagga routeadm -m ospf:quagga vty_address="127.0.0.1" routeadm -m ospf:quagga vty_port="2604" routeadm -u /usr/sbin/quaggaadm ospfd
Checking log files
tail -30 /var/adm/routing tail -30 /var/adm/routing.ospf
Sniffing the traffic
snoop -rv ospf
Degugging OSPF
show ip ospf interface show ip ospf neighbor show ip ospf database show ip ospf route
Monitoring
monit,netcat,curl