Linux iptables的备份和恢复操作详解

时间:2022-06-26 16:18:44

1、iptables的配置文件位置:/etc/sysconfig/iptables

    主控机:即业务运行中的机子;备份机:即主控机故障时,切换到备份的机子

    --在主控机上的操作-------------------

    2、建立目录:

  

复制代码
代码如下:
mkdir -p /bak/iptables/</p> <p> mkdir /root/script/

 

    3、在/root/script/目录下建立脚本:

  

复制代码
代码如下:
vi backup.sh</p> <p> cp /etc/sysconfig/iptables /bak/iptables/iptables_$(date +%Y%m%d%H)

 

    4、定制自动任务:

   

复制代码
代码如下:
crontab -e</p> <p> */10 * * * * /usr/sbin/ntpdate 210.72.145.44</p> <p> 10 * * * * sh /root/script/backup.sh

 

    --在备份机上操作---------------------

    5、建立目录:

   

复制代码
代码如下:
mkdir -p /bak/iptables/{lt,yd} #lt目录放联通跳转的备份,yd目录放移动跳转的备份</p> <p> mkdir /root/script/

 

    6、在/root/script/目录下建立脚本:

   

复制代码
代码如下:
vi scp_lt.sh</p> <p> #!/usr/bin/expect -f</p> <p> set password gst</p> <p> spawn scp -P 22 root@202.105.135.52:/etc/sysconfig/iptables /bak/iptables/lt/iptables</p> <p> set timeout 300</p> <p> expect "root@202.105.135.52's password:"</p> <p> set timeout 300</p> <p> send "$passwordr"</p> <p> set timeout 300</p> <p> send "exitr"</p> <p> expect eof

 

    7、在/root/script/目录下建立脚本:

  

复制代码
代码如下:
vi scp_yd.sh</p> <p> #!/usr/bin/expect -f</p> <p> set password gst</p> <p> spawn scp -P 22 root@183.62.178.91:/etc/sysconfig/iptables /bak/iptables/yd/iptables</p> <p> set timeout 300</p> <p> expect "root@183.62.178.91's password:"</p> <p> set timeout 300</p> <p> send "$passwordr"</p> <p> set timeout 300</p> <p> send "exitr"</p> <p> expect eof

 

    8、在/root/script/目录下建立脚本:

   

复制代码
代码如下:
vi backup.sh</p> <p> expect /root/script/scp_lt.sh</p> <p> expect /root/script/scp_yd.sh</p> <p> sed -i 's/202.105.135.52/183.62.178.85/g' /bak/iptables/lt/iptables</p> <p> sed -i 's/58.251.49.18/58.250.56.154/g' /bak/iptables/lt/iptables</p> <p> cp /bak/iptables/lt/iptables /etc/sysconfig/iptables</p> <p> /etc/init.d/iptables restart</p> <p> /etc/init.d/iptables save</p> <p> mv /bak/iptables/lt/iptables /bak/iptables/lt/iptables_$(date +%Y%m%d%H)</p> <p> mv /bak/iptables/yd/iptables /bak/iptables/yd/iptables_$(date +%Y%m%d%H)

 

    9、注意,要在备份机上手动远程登陆一次,以获得RSA的公钥,之后就不用这样登陆了,否则脚本会执行错误

    10、定制自动任务:

   

复制代码
代码如下:
crontab -e</p> <p> */10 * * * * /usr/sbin/ntpdate 210.72.145.44</p> <p> 20 * * * * sh /root/script/backup.sh