yunion-ipvs-modules.sh 911 B

1234567891011121314151617181920212223
  1. #!/bin/bash
  2. ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_fo ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack_ipv4"
  3. for kernel_module in ${ipvs_modules}; do
  4. /sbin/modinfo -F filename ${kernel_module} >/dev/null 2>&1 || :
  5. /sbin/modprobe ${kernel_module} || :
  6. done
  7. tcp_be_liberal=$(sysctl net.netfilter.nf_conntrack_tcp_be_liberal | awk '{print $NF}')
  8. if [[ $tcp_be_liberal -ne 1 ]]; then
  9. echo "net.netfilter.nf_conntrack_tcp_be_liberal is not enabled. Updating sysctl.conf ..."
  10. echo "net.netfilter.nf_conntrack_tcp_be_liberal = 1" >>/etc/sysctl.conf
  11. sysctl -p || :
  12. fi
  13. tcp_mtu_probing=$(sysctl net.ipv4.tcp_mtu_probing | awk '{print $NF}')
  14. if [[ $tcp_mtu_probing -ne 2 ]]; then
  15. echo "net.ipv4.tcp_mtu_probing is not enabled. Updating sysctl.conf ..."
  16. echo "net.ipv4.tcp_mtu_probing = 2" >>/etc/sysctl.conf
  17. sysctl -p || :
  18. fi