备份linux nat服务器配置

发布于 2022-09-05 00:56:17 字数 6970 浏览 5 评论 0

备份nat网卡IP,nat,路由。设置重启运行该脚本即可

  1. [代码] [Shell/批处理]代码
  2. 01 #!/bin/bash  
  3. 02 setupfile=$(ifconfig|grep 172.16|awk -F ':||B' '{print $2}')  
  4. 03 echo #!/bin/bash > $setupfile  
  5. 04 echo "/sbin/modprobe ip_nat_ftp" >> $setupfile  
  6. 05 echo "/sbin/modprobe ip_conntrack_ftp" >> $setupfile  
  7. 06 echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> $setupfile  
  8. 07 echo "echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all" >> $setupfile  
  9. 08 echo "echo 4096 > /proc/sys/net/ipv4/tcp_max_syn_backlog" >> $setupfile  
  10. 09 echo "echo 3 > /proc/sys/net/ipv4/tcp_syn_retries" >> $setupfile  
  11. 10 echo "echo 3 > /proc/sys/net/ipv4/tcp_synack_retries" >> $setupfile  
  12. 11 echo "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts" >> $setupfile  
  13. 12 echo "echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses" >> $setupfile  
  14. 13 echo "echo 1 > /proc/sys/net/ipv4/tcp_syncookies" >> $setupfile  
  15. 14 echo "echo 900 > /proc/sys/net/ipv4/tcp_keepalive_time" >> $setupfile  
  16. 15 echo "echo 2097152 > /proc/sys/net/ipv4/ip_conntrack_max" >> $setupfile  
  17. 16 echo "echo 1800 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established" >> $setupfile  
  18. 17   
  19. 18 ####################################################################################################  
  20. 19 #####################################        NIC IP         ########################################  
  21. 20 ####################################################################################################  
  22. 21 ip=($(ip add |grep 'scope global'|awk '{print $2}'))   
  23. 22 eth=($(ip add |grep 'scope global'|awk '{print $NF}'))  
  24. 23 for ((i=0;i<${#ip[@]};i++))  
  25. 24 do
  26. 25 echo ip addr add ${ip[i]} dev ${eth[i]} >> $setupfile  
  27. 26 done
  28. 27 route=($(ip ro|grep via|awk '{print $1}'))  
  29. 28 routeip=($(ip ro|grep via|awk '{print $3}'))  
  30. 29 for ((i=0;i<${#route[@]};i++))  
  31. 30 do
  32. 31     echo ip ro addr add ${route[i]} via ${routeip[i]}   >> $setupfile  
  33. 32 done
  34. 33 ####################################################################################################  
  35. 34 ####################################        IPTABLES        ########################################  
  36. 35 ####################################################################################################  
  37. 36 echo "iptables -F" >> $setupfile  
  38. 37 echo "iptables -F -t nat" >> $setupfile  
  39. 38 echo "iptables -F -t mangle" >> $setupfile  
  40. 39 echo "iptables -F INPUT" >> $setupfile  
  41. 40 echo "iptables -F OUTPUT" >> $setupfile  
  42. 41 echo "iptables -P INPUT DROP" >> $setupfile  
  43. 42 echo "iptables -Z" >> $setupfile  
  44. 43 echo "iptables -A INPUT -s 10.1.0.0/24 -p tcp --dport 2222 -j ACCEPT" >> $setupfile  
  45. 44 echo "iptables -A INPUT -s 10.1.0.128/25 -p icmp --icmp-type echo-request -j ACCEPT" >> $setupfile  
  46. 45 echo "iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT" >> $setupfile  
  47. 46 echo "iptables -A INPUT -p tcp --dport 199 -j ACCEPT" >> $setupfile  
  48. 47 echo "iptables -A INPUT -p udp --dport 161 -j ACCEPT" >> $setupfile  
  49. 48 echo "iptables -A FORWARD -p tcp -m multiport --dports 69,135,139,445,593,4444,1434,2500,5800,5900,6346,9393,5554,9996 -j REJECT --reject-with tcp-reset" >> $setupfile  
  50. 49 echo "iptables -A FORWARD -p udp -m multiport --dports 135,137,138,139,445,593,4444,1434 -j REJECT --reject-with icmp-port-unreachable" >> $setupfile  
  51. 50 ####################################################################################################  
  52. 51 #####################################           NAT         ########################################  
  53. 52 ####################################################################################################  
  54. 53 sip=($(iptables -t nat -vnL|grep SNAT|awk '{print $8}'))  
  55. 54 dip=($(iptables -t nat -vnL|grep SNAT|awk '{print $10}'|awk -F ":" '{print $2}'))  
  56. 55 for ((i=0;i<${#sip[@]};i++))  
  57. 56 do   
  58. 57     echo iptables -t nat -A POSTROUTING -s ${sip[i]} -j SNAT --to ${dip[i]} >> $setupfile  
  59. 58 done
  60. 59 for ((i=0;i<${#sip[@]};i++))  
  61. 60 do   
  62. 61     echo iptables -t nat -A PREROUTING -d ${dip[i]} -j DNAT --to ${sip[i]}  >> $setupfile  
  63. 62 done
  64. [代码] ftp登陆上传
  65. 1 ftp -in 10.0.1.198 <<!  
  66. 2 user root root  
  67. 3 binary  
  68. 4 cd nat  
  69. 5 del $setupfile   
  70. 6 put $setupfile  
  71. 7 bye  
  72. 8 !

复制代码

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文