package org.zstack.utils; /** */ public class IptablesUtils { public static void appendRuleToFilterTable(String rule) { ShellResult ret = ShellUtils.runAndReturn(String.format("/sbin/iptables-save | grep -- '%s' > /dev/null", rule)); if (ret.getRetCode() == 0) { return; } ret = ShellUtils.runAndReturn(String.format("/sbin/iptables %s", rule)); ret.raiseExceptionIfFail(); } public static void insertRuleToFilterTable(String rule) { ShellResult ret = ShellUtils.runAndReturn(String.format("/sbin/iptables-save | grep -- '%s' > /dev/null", rule)); if (ret.getRetCode() == 0) { return; } ret = ShellUtils.runAndReturn(String.format("/sbin/iptables %s", rule.replace("-A", "-I"))); ret.raiseExceptionIfFail(); } }