我的 iptables 中有这条规则
target prot opt source destination
DROP tcp -- !10.0.0.61 anywhere tcp dpt:sip
DROP tcp -- !c-74-70-17-69.hsd1.co.comcast.net anywhere tcp dpt:sip
DROP tcp -- !c-74-70-17-69.hsd1.co.comcast.net anywhere tcp dpt:http
DROP tcp -- !c-74-70-17-69.hsd1.co.comcast.net anywhere tcp dpt:https
如您所见,它允许 sip、http 或 https。现在,如果我使用这个添加另一个
iptables -I 输入 -p tcp !-s 10.0.0.61 --dport 443 -j DROP
允许 10.0.0.61 也使用 443,但它不起作用,并显示此信息
target prot opt source destination
DROP tcp -- !10.0.0.61 anywhere tcp dpt:https
DROP tcp -- !10.0.0.61 anywhere tcp dpt:sip
DROP tcp -- !c-75-70-17-69.hsd1.co.comcast.net anywhere tcp dpt:sip
DROP tcp -- !c-75-70-17-69.hsd1.co.comcast.net anywhere tcp dpt:http
DROP tcp -- !c-75-70-17-69.hsd1.co.comcast.net anywhere tcp dpt:https
我究竟做错了什么?
答案1
我将尝试描述您要做什么以及您想要什么。使用您的规则,您将丢弃所有到达除以下 IP之外sip,http,https
的所有 IP 的数据包:10.0.0.61
c-75-70-17-69.hsd1.co.comcast.net
如果您想允许来自sip,http,https
和10.0.0.61
的流量c-75-70-17-69.hsd1.co.comcast.net
,您应该添加规则:
iptables -I INPUT -m state --state NEW -p tcp -s 10.0.0.61 -m multiport --dports 80,443,5060 -j ACCEPT
iptables -I INPUT -m state --state NEW -p tcp -s c-75-70-17-69.hsd1.co.comcast.net -m multiport --dports 80,443,5060 -j ACCEPT