delnat.sh 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Usage: bash delnat.sh $(lxc-ls)
  2. # 小鸡的端口转发规则 ssh 22 http 80 10<N>00 : 10<N>99
  3. # ID对应IP 101: 10122 10180 10100 : 10199
  4. #-------------------------------------------------------------#
  5. input_id()
  6. {
  7. id=101
  8. echo -e "删除端口转发ID: \033[41;37m ${id} \033[0m 可以修改设置其他ID; "
  9. read -p "请输入NAT小鸡的ID号(按回车不修改): " -t 30 new
  10. if [[ ! -z "${new}" ]]; then
  11. id="${new}"
  12. fi
  13. delnat_port
  14. iptables -t nat -nvL PREROUTING
  15. echo -e ":: PVE NAT 批量删除端口转发设置脚本: \033[41;37m bash delnat.sh $(lxc-ls) \033[0m \n使用参考: https://262235.xyz/index.php/archives/714/"
  16. }
  17. # 以id为ip设置删除端口转发
  18. delnat_port()
  19. {
  20. iptables -t nat -D PREROUTING -p tcp -m tcp --dport ${id}22 -j DNAT --to-destination 10.10.10.${id}:22
  21. # iptables -t nat -D PREROUTING -p tcp -m tcp --dport ${id}80 -j DNAT --to-destination 10.10.10.${id}:80
  22. iptables -t nat -D PREROUTING -p tcp -m multiport --dport ${id}00:${id}99 -j DNAT --to-destination 10.10.10.${id}
  23. }
  24. # 手工输入id,input_id调用nat删除端口转发
  25. if [ $# -eq 0 ];
  26. then
  27. input_id
  28. exit
  29. fi
  30. # 遍历参数 批量设置 nat删除端口转发
  31. for arg in $*
  32. do
  33. id=$arg
  34. delnat_port
  35. done
  36. # 查看 nat PREROUTING 端口映射规则
  37. iptables -t nat -nvL PREROUTING
  38. # 清空 nat PREROUTING 端口映射规则
  39. # iptables -t nat -F PREROUTING