apache目录加密并允许IP白名单

添加以下内容到Directory里,然后用htpasswd创建配置文件并添加用户名密码
重启apache后,白名单里的IP允许访问,非白名单的IP需要输入用户名密码

  1. AuthUserFile /路/径/.htpasswd
  2. AuthName "limit"
  3. AuthType Basic
  4. require valid-user
  5. satisfy any
  6. deny from all
  7. allow from $允许的IP

IP数量计算 子网掩码速查

  1. CIDR 子网掩码 IP数量
  2. /20 4096IP 255.255.240.0
  3. /21 2048IP 255.255.248.0
  4. /22 1024IP 255.255.252.0
  5. /23 512IP 255.255.254.0
  6. /24 256IP 255.255.255.0
  7. /25 128IP 255.255.255.128
  8. /26 64IP 255.255.255.192
  9. /27 32IP 255.255.255.224
  10. /28 16IP 255.255.255.240
  11. /29 8IP 255.255.255.248
  12. /30 4IP 255.255.255.252

iptables端口转发

  1. #本机端口转发
  2. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  3. iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $public_port -j REDIRECT --to-ports $private_port
  4.  
  5. #外网端口转发需要开启ip_forward
  6. echo "1" > /proc/sys/net/ipv4/ip_forward
  7. iptables -t nat -A PREROUTING -p tcp -m tcp --dport $local_port -j DNAT --to-destination $dest:$port
  8. iptables -t nat -A POSTROUTING -p tcp -m tcp --dport $local_port -j SNAT --to-source $local_ip

crontab每月的最后一天

每个月最后一天的23点30分执行

  1. 30 23 28-31 * * [[ "$(date --date=tomorrow +\%d)" == "01" ]] && $COMMAND

iptables出口IP轮询

  1. iptables -I POSTROUTING -t nat -o $ETHX -p tcp -m state --state NEW -m tcp --dport $DPORT -m statistic --mode nth --every $IP_NUM -j SNAT --to-source $SourceIP