我想允许来自特定 IP 地址的所有连接,但我失败了。
操作系统:Ubuntu 服务器 16.04。(传入和传出服务器)
我已经执行了这些命令:
iptables -I INPUT -p tcp -s 192.168.0.45 -j ACCEPT
iptables -I OUTPUT -p tcp -d 192.168.0.45 -j ACCEPT
service netfilter-persistent save
/etc/init.d/netfilter-persistent restart
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
这是我的rules.v4样子:
# Generated by iptables-save v1.6.0 on Thu Jun 22 08:48:43 2017
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -s 192.168.0.45/32 -p tcp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 9100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 8025 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 ! -i lo -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i tun0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 17000 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A INPUT -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -d 192.168.0.45/32 -p tcp -j ACCEPT
-A OUTPUT -j ACCEPT
COMMIT
# Completed on Thu Jun 22 08:48:43 2017
Run Code Online (Sandbox Code Playgroud)
仅当我刷新所有连接时,我才会收到所有连接
iptables -F
Run Code Online (Sandbox Code Playgroud)
如何正确允许来自特定 IP 地址的所有连接?
Mar*_*rco 10
如何正确允许来自特定 IP 地址的所有连接?
“所有连接”意味着在您的特定 IP 允许规则上不匹配 tcp!
只需删除-p tcp,您将拥有 ping (ICMP) 和所有其他允许的 IP 协议内容。
另请注意,此处的 OUTPUT 规则没有用。第一条规则允许 tcp 访问 192.168.0.45,第二条规则允许任何人访问任何东西。所以第一个没有效果!
为了得到你想要的编辑输入规则:
iptables -A INPUT -s 192.168.0.45/32 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
并删除您为 192.168.0.45 制定的 OUTPUT 规则。
| 归档时间: |
|
| 查看次数: |
42613 次 |
| 最近记录: |