/sbin/ipset create ${common_name}-${common_ip}hash:ip /sbin/ipset create ${common_name}-${common_ip}-drop hash:ip # 这里是动态去你的后端获取出来的允许访问的列表,接口自己去实现 for index in `seq 0 $permissionsAcceptLength`; do /sbin/ipset add ${common_name}-${common_ip}${permissionsAccept[$index]//\"/} done
for index in `seq 0 $permissionsDropLength`; do /sbin/ipset add ${common_name}-${common_ip}-drop ${permissionsDrop[$index]//\"/} done # 设置iptables /sbin/iptables -A FORWARD -s $common_ip -m set --match-set ${common_name}-${common_ip} dst -j ACCEPT /sbin/iptables -A FORWARD -s $common_ip -m set --match-set ${common_name}-${common_ip}-drop dst -j DROP /sbin/iptables -A FORWARD -s $common_ip -j DROP
断开脚本
1 2 3 4 5
/sbin/iptables -D FORWARD -s $ifconfig_pool_remote_ip -m set --match-set ${common_name}-${ifconfig_pool_remote_ip} dst -j ACCEPT /sbin/iptables -D FORWARD -s $ifconfig_pool_remote_ip -m set --match-set ${common_name}-${ifconfig_pool_remote_ip}-drop dst -j DROP /sbin/iptables -D FORWARD -s $ifconfig_pool_remote_ip -j DROP /sbin/ipset destroy ${common_name}-${ifconfig_pool_remote_ip} /sbin/ipset destroy ${common_name}-${ifconfig_pool_remote_ip}-drop