我有一台带有两个网卡的 linux 机器(统包核心 14.2)。
eth0是一个公共 ip,WAN(我们称之为123.123.123.123)。
eth1 是我的网络,局域网。
我想SSH从 WAN 中阻止iptables。
我使用命令
sudo iptables -A INPUT -p tcp -s 123.123.123.123 --dport 22 -j DROP
Run Code Online (Sandbox Code Playgroud)
如果我然后写
sudo iptables -L
Run Code Online (Sandbox Code Playgroud)
我得到了答案
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- 123.123.123.123 anywhere tcp dpt:ssh
Run Code Online (Sandbox Code Playgroud)
问题是如果我PuTTY用来连接到 123.123.123.123 ,我不会被阻止。
知道我做错了什么吗?
您正在按源地址(-s选项)而不是目标地址(-d选项)匹配流量,这就是您的规则不会丢弃来自其他主机的任何流量的原因。
您还可以通过输入接口(而不是地址)与-i选项进行匹配。例如,要所有入站流量下降到端口22用于为eth0:
iptables -A INPUT -i eth0 -p tcp --dport 22 -j DROP
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13493 次 |
| 最近记录: |