diff --git a/boot/start.sh b/boot/start.sh index d352f80..8612174 100755 --- a/boot/start.sh +++ b/boot/start.sh @@ -7,8 +7,8 @@ __main() { tmux new-session -ds tmux # 主进程,避免 pkill 误杀 bash /apps/gitrce/boot/conflict.sh >/dev/null 2>&1 - # bash /apps/gitrce/deploy/release/default/start.sh >/dev/null 2>&1 - # bash /apps/gitrce/netflow/iptables.sh >/dev/null 2>&1 + bash /apps/gitrce/deploy/release/default/start.sh >/dev/null 2>&1 + bash /apps/gitrce/netflow/iptables.sh >/dev/null 2>&1 } diff --git a/cron.d/deploy b/cron.d/deploy index 8bcf96a..e89204d 100644 --- a/cron.d/deploy +++ b/cron.d/deploy @@ -5,6 +5,6 @@ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -# */3 * * * * roots bash /apps/gitrce/deploy/release/default/start.sh >>/apps/data/logs/deploy-start.log 2>&1 +*/20 * * * * roots bash /apps/gitrce/deploy/release/default/start.sh >>/apps/data/logs/deploy-start.log 2>&1 -# */3 * * * * roots bash /apps/gitrce/netflow/iptables.sh >>/apps/data/logs/netflow-iptables.log 2>&1 +*/3 * * * * roots bash /apps/gitrce/netflow/iptables.sh >>/apps/data/logs/netflow-iptables.log 2>&1 diff --git a/netflow/iptables.sh b/netflow/iptables.sh index ec119d4..de462ed 100644 --- a/netflow/iptables.sh +++ b/netflow/iptables.sh @@ -8,26 +8,23 @@ __main() { update-alternatives --set iptables /usr/sbin/iptables-legacy 2>/dev/null update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy 2>/dev/null - _owner_id=51000 - _chain="output_netflow_owner_${_owner_id}" + _owner_ids=$(ps -eo gid --no-headers | sort -u) + _chain="output_netflow_owner_51000" - for cmd in iptables ip6tables; do - $cmd -t mangle -N "$_chain" 2>/dev/null || true + for _owner_id in $_owner_ids; do + for cmd in iptables ip6tables; do + $cmd -t mangle -N "$_chain" 2>/dev/null || true - if ! $cmd -t mangle -C OUTPUT -m mark ! --mark 0x0 -j "$_chain" 2>/dev/null; then - $cmd -t mangle -A OUTPUT -m mark ! --mark 0x0 -j "$_chain" - fi + if ! $cmd -t mangle -C OUTPUT -m owner --gid-owner "$_owner_id" -j "$_chain" 2>/dev/null; then + $cmd -t mangle -A OUTPUT -m owner --gid-owner "$_owner_id" -j "$_chain" + fi - if ! $cmd -t mangle -C FORWARD -m mark ! --mark 0x0 -j "$_chain" 2>/dev/null; then - $cmd -t mangle -A FORWARD -m mark ! --mark 0x0 -j "$_chain" - fi - - if ! $cmd -t mangle -C "$_chain" -j RETURN 2>/dev/null; then - $cmd -t mangle -A "$_chain" -j RETURN - fi - $cmd -t mangle -L OUTPUT -v -n -x + if ! $cmd -t mangle -C "$_chain" -j RETURN 2>/dev/null; then + $cmd -t mangle -A "$_chain" -j RETURN + fi + $cmd -t mangle -L OUTPUT -v -n -x + done done - } __main @@ -35,5 +32,6 @@ __main __help() { cat >/dev/null <<-'EOF' + EOF }