FastHandle - IT Operations Examples

FastHandle is fast operation tools for infrastructure configurations and tests.

User Tools

Site Tools


os:linux:net:index.html



Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
os:linux:net:index.html [2018/01/07 01:05]
kurihara
os:linux:net:index.html [2018/03/14 00:33]
kurihara
Line 1: Line 1:
 [[:index.html#OS Management|Top#OS Management]] [[:index.html#OS Management|Top#OS Management]]
-====== Network Configuration (net.py) ======+====== Linux Network Configuration with Fabric (net.py) ======
  
 $FHHOME/fabfile/net.py $FHHOME/fabfile/net.py
Line 8: Line 8:
  
  
-===== Operation =====+===== Operation with Fabric =====
  
 <sxh bash toolbar:false gutter:false> <sxh bash toolbar:false gutter:false>
-$ fab -l |grep net+$ fab -l |grep -F net.
 </sxh> </sxh>
 +
 +
 +\\
 +==== Fabric one-line Task Examples ====
  
 <sxh bash toolbar:false gutter:false> <sxh bash toolbar:false gutter:false>
Line 21: Line 25:
  
 # Bonding # Bonding
 +$ fab -H $H auth.pro -- egrep  "*"  /proc/net/bonding/bond*
 $ fab -H $H auth.pro -- egrep -i "mode|currently|status|count"  /proc/net/bonding/bond* $ fab -H $H auth.pro -- egrep -i "mode|currently|status|count"  /proc/net/bonding/bond*
  
Line 38: Line 43:
  
 # tcpdump # tcpdump
-$ fab -H $H auth.pro -- sudo tcpdump  udp port 53 -i any  -W1 -G60 +$ fab -H $H auth.pro -- sudo tcpdump  udp port 53 -i any  -W1 -G30  # check 30 seconds 
-$ fab -H $H auth.pro -- sudo tcpdump -n not arp and not port 123 and not port 22  -W1 -G60+$ fab -H $H auth.pro -- sudo tcpdump -n not arp and not port 123 and not port 22  -W1 -G30  # check 30 seconds
  
 # DNS # DNS
Line 58: Line 63:
 from fabric.api import * from fabric.api import *
 from fabric.contrib import files from fabric.contrib import files
 +from datetime import datetime
  
 FHHOME=os.environ["FHHOME"] FHHOME=os.environ["FHHOME"]
Line 77: Line 83:
 def set_bond(ip,bond,nic1,nic2): def set_bond(ip,bond,nic1,nic2):
     backup_config()     backup_config()
 +    date = datetime.now().strftime('%Y%m%d_%H%M')
     # put     # put
-    put("%s/etc/sysconfig/network-scripts/ifcfg-bond.tpl" % FHHOME, "/etc/sysconfig/network-scripts/ifcfg-%s" % bond, use_sudo=True, mode=0755+    put("%s/etc/sysconfig/network-scripts/ifcfg-bond.tpl" % FHHOME, "/tmp/ifcfg-%s.%s" % (bond,date)
-    put("%s/etc/sysconfig/network-scripts/ifcfg-bond_nic.tpl" % FHHOME, "/etc/sysconfig/network-scripts/ifcfg-%s" % nic1, use_sudo=True, mode=0755+    put("%s/etc/sysconfig/network-scripts/ifcfg-bond_nic.tpl" % FHHOME, "/tmp/ifcfg-%s.%s" % (nic1,date)
-    put("%s/etc/sysconfig/network-scripts/ifcfg-bond_nic.tpl" % FHHOME, "/etc/sysconfig/network-scripts/ifcfg-%s" % nic2, use_sudo=True, mode=0755) +    put("%s/etc/sysconfig/network-scripts/ifcfg-bond_nic.tpl" % FHHOME, "/tmp/ifcfg-%s.%s" % (nic2,date)) 
-    sudo("chown root:root /etc/sysconfig/network-scripts/ifcfg-%s" % bond+
-    sudo("chown root:root /etc/sysconfig/network-scripts/ifcfg-%s" % nic1) +
-    sudo("chown root:root /etc/sysconfig/network-scripts/ifcfg-%s" % nic2)+
     # bond     # bond
-    sed("/etc/sysconfig/network-scripts/ifcfg-%s" % bond, before="DEVICE=bondX", after="DEVICE=%s" % ip ,use_sudo=True+    sed("/tmp/ifcfg-%s.%s" % (bond,date), before="DEVICE=bondX", after="DEVICE=%s" % ip) 
-    sed("/etc/sysconfig/network-scripts/ifcfg-%s" % bond, before="IPADDR=x.x.x.x", after="IPADDR=%s" % ip ,use_sudo=True)+    sed("/tmp/ifcfg-%s.%s" % (bond,date), before="IPADDR=x.x.x.x", after="IPADDR=%s" % ip)
     # nic1     # nic1
-    sed("/etc/sysconfig/network-scripts/ifcfg-%s" % nic1, before="DEVICE=X", after="DEVICE=%s" % nic1 ,use_sudo=True+    sed("/tmp/ifcfg-%s.%s" % (nic1,date), before="DEVICE=X", after="DEVICE=%s" % nic1) 
-    sed("/etc/sysconfig/network-scripts/ifcfg-%s" % nic1, before="MASTER=X", after="MASTER=%s" % bond ,use_sudo=True)+    sed("/tmp/ifcfg-%s.%s" % (nic1,date), before="MASTER=X", after="MASTER=%s" % bond)
     # nic2     # nic2
-    sed("/etc/sysconfig/network-scripts/ifcfg-%s" % nic2, before="DEVICE=X", after="DEVICE=%s" % nic2 ,use_sudo=True+    sed("/tmp/ifcfg-%s.%s" % (nic2,date), before="DEVICE=X", after="DEVICE=%s" % nic2) 
-    sed("/etc/sysconfig/network-scripts/ifcfg-%s" % nic2, before="MASTER=X", after="MASTER=%s" % bond ,use_sudo=True)+    sed("/tmp/ifcfg-%s.%s" % (nic2,date), before="MASTER=X", after="MASTER=%s"bond) 
 + 
 +    run("diff /tmp/ifcfg-%s.%s  /etc/sysconfig/network-scripts/ifcfg-%s" % (bond,date,bond)
 +    run("diff /tmp/ifcfg-%s.%s  /etc/sysconfig/network-scripts/ifcfg-%s" % (nic1,date,nic1)) 
 +    run("diff /tmp/ifcfg-%s.%s  /etc/sysconfig/network-scripts/ifcfg-%s" % (nic2,date,nic2)) 
 + 
 +    sudo("mv /tmp/ifcfg-%s.%s  /etc/sysconfig/network-scripts/ifcfg-%s" % (bond,date,bond)) 
 +    sudo("mv /tmp/ifcfg-%s.%s /etc/sysconfig/network-scripts/ifcfg-%s" % (nic1,date.nic1)) 
 +    sudo("mv /tmp/ifcfg-%s.%s /etc/sysconfig/network-scripts/ifcfg-%s" % (nic2,date,nic2)) 
  
 </sxh> </sxh>


os/linux/net/index.html.txt · Last modified: 2019/02/11 00:40 by kurihara