Iptables,从 prerouting Captive Portal 中排除单个 ip
Iptables, exclude single ip from prerouting Captive Portal
我需要帮助从所有端口的预路由规则中排除单个 IP 地址。
任何连接到我的接入点的人都会被重定向到我的强制门户(登陆页面)。因此我想制定一个新规则,我不希望我现有的预路由规则是 modified/deleted.
我已经制定的预路由规则将传入端口(端口 22 (SSH) 除外)路由到强制门户。因此我使用这个规则:
sudo iptables -t nat -A PREROUTING -p tcp --match multiport ! --dport 22 ! -s 192.168.42.19 -j DNAT --to-destination 192.168.42.1:8080
我想做的是针对特定用户做一个排除,所以我想阻止某些ip地址被转发。
我尝试了不同的东西,但我什么都做不了。
我尝试了不同的 INPUT 和 OUTPUT 规则,但没有成功。我想我应该对 PREROUTING 做点什么,但是怎么做呢?
如果您只是想阻止某些流量达到特定规则,您可以在您试图避免的规则之前为该流量添加 RETURN 或 ACCEPT 规则。
例如,您可以将当前规则更改为三个规则:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.42.19 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -j DNAT --to-destination 192.168.42.1:8080
注意 ACCEPT 和 RETURN 之间的区别(来自 iptables(8) 手册页):
ACCEPT means to let the packet through.
RETURN means stop traversing this chain and resume at
the next rule in the previous (calling) chain.
使用这种方法,您可以不理会当前规则,并在其前面加上任意数量的规则,这些规则描述了您不想违反 NAT 规则的不同类型的流量。
查看 iptables 计数器是判断您的流量是否符合预期规则的好方法(例如 iptables -t nat -L PREROUTING -vn
)。
我需要帮助从所有端口的预路由规则中排除单个 IP 地址。 任何连接到我的接入点的人都会被重定向到我的强制门户(登陆页面)。因此我想制定一个新规则,我不希望我现有的预路由规则是 modified/deleted.
我已经制定的预路由规则将传入端口(端口 22 (SSH) 除外)路由到强制门户。因此我使用这个规则:
sudo iptables -t nat -A PREROUTING -p tcp --match multiport ! --dport 22 ! -s 192.168.42.19 -j DNAT --to-destination 192.168.42.1:8080
我想做的是针对特定用户做一个排除,所以我想阻止某些ip地址被转发。 我尝试了不同的东西,但我什么都做不了。 我尝试了不同的 INPUT 和 OUTPUT 规则,但没有成功。我想我应该对 PREROUTING 做点什么,但是怎么做呢?
如果您只是想阻止某些流量达到特定规则,您可以在您试图避免的规则之前为该流量添加 RETURN 或 ACCEPT 规则。
例如,您可以将当前规则更改为三个规则:
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -s 192.168.42.19 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -j DNAT --to-destination 192.168.42.1:8080
注意 ACCEPT 和 RETURN 之间的区别(来自 iptables(8) 手册页):
ACCEPT means to let the packet through.
RETURN means stop traversing this chain and resume at
the next rule in the previous (calling) chain.
使用这种方法,您可以不理会当前规则,并在其前面加上任意数量的规则,这些规则描述了您不想违反 NAT 规则的不同类型的流量。
查看 iptables 计数器是判断您的流量是否符合预期规则的好方法(例如 iptables -t nat -L PREROUTING -vn
)。