find /etc -type f -exec sed -i 's/10\.128\.80\.14/10\.97\.142\.59/g' {} \;
Wednesday, July 13, 2016
Saturday, June 18, 2016
Tuesday, June 14, 2016
remove duplicate crap from bind9 zone files
cat -n db.zone | sort -k 2 | uniq -f 1 | sort -n | cut -f 2- > db.zone.uniq
Monday, June 6, 2016
two interfaces two networks
two interfaces two networks
We will assume that we have two interfaces: eth0 and eth1. The two networks that should be used
are 10.97.136.0/24 and 192.168.5.0/24 .
The first IP address in each respective network is he gateway. Here's how to set thing up in
ubuntu to use two interfaces on two networks:
...
/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.97.136.83
netmask 255.255.255.0
network 10.97.136.0
broadcast 10.97.136.255
gateway 10.97.136.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 10.97.136.24 10.97.136.21
dns-search blah.com
auto eth1
iface eth1 inet static
address 192.168.5.55
netmask 255.255.255.0
network 192.168.5.0
...
Add a second kernel routing table
To add a new routing table, edit the file, /etc/iproute2/rt_tables .
The eth1's routing table shall be “rt2” with preference to 1.
...
/etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
#1 inr.ruhep
1 rt2
...
Configure rt2 routing table
# ip route add 192.168.5.0/24 dev eth1 src 192.168.5.55 table rt2
# ip route add default via 192.168.5.1 dev eth1 table rt2
The first command says that the network, 192.168.5.0/24, can be reached through the eth1 interface.
The second command sets the default gateway (even if there is none).
Configure two rules
# ip rule add from 192.168.5.55/32 table rt2
# ip rule add to 192.168.5.55/32 table rt2
These rules say that both traffic from the IP address, 192.168.5.55, as well as traffic
directed to or through this IP address, should use the rt2 routing table.
Making the Configuration permanent
The ip rule and ip route commands will become invalid after a re-boot, for which reason they should become part of a script
(for example, /etc/rc.local) that will be executed once the network has been started after booting. In ubuntu, these commands
can also be written directly into the /etc/network/interfaces file :
...
auto eth1
iface eth1 inet static
address 192.168.5.55
netmask 255.255.255.0
network 192.168.5.0
post-up ip route add 192.168.5.0/24 dev eth1 src 192.168.5.55 table rt2
post-up ip route add default via 192.168.5.1 dev eth1 table rt2
post-up ip rule add from 192.168.5.55/32 table rt2
post-up ip rule add to 192.168.5.55/32 table rt2
...
If there are more than two networks, a routing table can be created for each additional network analogous to the
above, do a step of one number.
Testing the Configuration
The following commands can be used to ensure that the rules as well as the routing entries are working as expected.
# ip route list table rt2
default via 192.168.5.1 dev eth1
192.168.5.0/24 dev eth1 scope link src 192.168.5.55
# ip rule show
0: from all lookup local
32764: from all to 192.168.5.55 lookup rt2
32765: from 192.168.5.55 lookup rt2
32766: from all lookup main
32767: from all lookup default
pip pip!
time. it is all about time.
w32tm /config /manualpeerlist:"time.server,0x1 time.server2,0x1"
net stop x32time && net start w32time
w32tm /query /status
w32tm /resync /nowait
Wednesday, April 27, 2016
pids and cronjobs and scripts stomping on each other
i am backing up a whole lot of data via a cronjob.
sometimes it takes a really long time. like so long
to bleeds over to the next backup cycle. this will
help me not run stuff in parallel. yuck. processes
stomping all over themselves is no fun.
this script sets the PID (process id) in a standard place.
if the PID is present, the script halts.
if the PID is not there, the script creates the PID file.
and continues along working.
but, if it cannot create, the script dies.
if the PID isn't present, the script creates the PID file.
and continues along working.
but, if it cannot create, the script dies.
PIDFILE=/var/run/script_name.pid
if [ -f $PIDFILE ]
then
PID=$(cat $PIDFILE)
ps -p $PID > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "process already running"
echo "process already running" | mail -s me@here.org
exit 1
else
echo $$ > $PIDFILE
if [ $? -ne 0 ]
then
echo "could not create PID file"
exit 1
fi
fi
else
echo $$ > $PIDFILE
if [ $? -ne 0 ]
then
echo "could not create PID file"
exit 1
fi
fi
work work work
# remove PID file
rm -f $PIDFILE
Monday, April 11, 2016
solaris 11 studio 12.3 is a pain to install on zones
like for serious.
sol studio needs a cert. 30 days
pkg set-publisher -k /root/certs/pkg.oracle.com.key.pem -c /root/certs/pkg.oracle.com.certificate.pem -G "*" -g https://pkg.oracle.com/solarisstudio/release solarisstudio
well. sharing sunstudio12.3 between the host and paravirtualized system is a no go. awesome.
/etc/zones/zone1.xml has:
filesystem special="/opt/solarisstudio12.3" directory="/opt/solarisstudio12.3" type="lofs"/
let's get rid of it:
# zonecfg -z zone1 remove fs dir=/opt/solarisstudio12.3
Subscribe to:
Posts (Atom)