备份linux nat服务器配置
备份nat网卡IP,nat,路由。设置重启运行该脚本即可
- [代码] [Shell/批处理]代码
- 01 #!/bin/bash
- 02 setupfile=$(ifconfig|grep 172.16|awk -F ':||B' '{print $2}')
- 03 echo #!/bin/bash > $setupfile
- 04 echo "/sbin/modprobe ip_nat_ftp" >> $setupfile
- 05 echo "/sbin/modprobe ip_conntrack_ftp" >> $setupfile
- 06 echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> $setupfile
- 07 echo "echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all" >> $setupfile
- 08 echo "echo 4096 > /proc/sys/net/ipv4/tcp_max_syn_backlog" >> $setupfile
- 09 echo "echo 3 > /proc/sys/net/ipv4/tcp_syn_retries" >> $setupfile
- 10 echo "echo 3 > /proc/sys/net/ipv4/tcp_synack_retries" >> $setupfile
- 11 echo "echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts" >> $setupfile
- 12 echo "echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses" >> $setupfile
- 13 echo "echo 1 > /proc/sys/net/ipv4/tcp_syncookies" >> $setupfile
- 14 echo "echo 900 > /proc/sys/net/ipv4/tcp_keepalive_time" >> $setupfile
- 15 echo "echo 2097152 > /proc/sys/net/ipv4/ip_conntrack_max" >> $setupfile
- 16 echo "echo 1800 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established" >> $setupfile
- 17
- 18 ####################################################################################################
- 19 ##################################### NIC IP ########################################
- 20 ####################################################################################################
- 21 ip=($(ip add |grep 'scope global'|awk '{print $2}'))
- 22 eth=($(ip add |grep 'scope global'|awk '{print $NF}'))
- 23 for ((i=0;i<${#ip[@]};i++))
- 24 do
- 25 echo ip addr add ${ip[i]} dev ${eth[i]} >> $setupfile
- 26 done
- 27 route=($(ip ro|grep via|awk '{print $1}'))
- 28 routeip=($(ip ro|grep via|awk '{print $3}'))
- 29 for ((i=0;i<${#route[@]};i++))
- 30 do
- 31 echo ip ro addr add ${route[i]} via ${routeip[i]} >> $setupfile
- 32 done
- 33 ####################################################################################################
- 34 #################################### IPTABLES ########################################
- 35 ####################################################################################################
- 36 echo "iptables -F" >> $setupfile
- 37 echo "iptables -F -t nat" >> $setupfile
- 38 echo "iptables -F -t mangle" >> $setupfile
- 39 echo "iptables -F INPUT" >> $setupfile
- 40 echo "iptables -F OUTPUT" >> $setupfile
- 41 echo "iptables -P INPUT DROP" >> $setupfile
- 42 echo "iptables -Z" >> $setupfile
- 43 echo "iptables -A INPUT -s 10.1.0.0/24 -p tcp --dport 2222 -j ACCEPT" >> $setupfile
- 44 echo "iptables -A INPUT -s 10.1.0.128/25 -p icmp --icmp-type echo-request -j ACCEPT" >> $setupfile
- 45 echo "iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT" >> $setupfile
- 46 echo "iptables -A INPUT -p tcp --dport 199 -j ACCEPT" >> $setupfile
- 47 echo "iptables -A INPUT -p udp --dport 161 -j ACCEPT" >> $setupfile
- 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
- 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
- 50 ####################################################################################################
- 51 ##################################### NAT ########################################
- 52 ####################################################################################################
- 53 sip=($(iptables -t nat -vnL|grep SNAT|awk '{print $8}'))
- 54 dip=($(iptables -t nat -vnL|grep SNAT|awk '{print $10}'|awk -F ":" '{print $2}'))
- 55 for ((i=0;i<${#sip[@]};i++))
- 56 do
- 57 echo iptables -t nat -A POSTROUTING -s ${sip[i]} -j SNAT --to ${dip[i]} >> $setupfile
- 58 done
- 59 for ((i=0;i<${#sip[@]};i++))
- 60 do
- 61 echo iptables -t nat -A PREROUTING -d ${dip[i]} -j DNAT --to ${sip[i]} >> $setupfile
- 62 done
- [代码] ftp登陆上传
- 1 ftp -in 10.0.1.198 <<!
- 2 user root root
- 3 binary
- 4 cd nat
- 5 del $setupfile
- 6 put $setupfile
- 7 bye
- 8 !
复制代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论