iptables允许icmp访问22端口命令
时间: 2023-09-06 11:07:48 浏览: 124
ICMP是一种不可靠的协议,它并不使用TCP或UDP端口号来进行通信,所以我们不能直接使用iptables允许ICMP协议访问22端口。如果您想要允许来自某个特定IP地址的ICMP流量访问22端口,可以使用以下命令:
```
iptables -A INPUT -p icmp --icmp-type echo-request -s 源IP地址 -d 本机IP地址 -j ACCEPT
```
这条命令将会在防火墙规则中添加一条允许来自源IP地址、目标IP地址为本机IP地址、ICMP类型为echo-request的规则,允许访问SSH服务。请将命令中的源IP地址和本机IP地址替换为您实际使用的IP地址。
需要注意的是,开放ICMP流量可能会带来一些安全风险,因此需要仔细评估您的网络安全需求并做出决策。
相关问题
iptables 开通永久访问端口
要开启一个永久访问端口,可以使用以下步骤:
1. 打开终端,输入以下命令以编辑 iptables 配置文件:
```
sudo nano /etc/sysconfig/iptables
```
2. 在文件中找到下面类似的一行规则:
```
-A INPUT -j REJECT --reject-with icmp-host-prohibited
```
3. 在这行规则之前,添加一个新的规则,允许访问你需要开启的端口。例如,如果你需要开启 SSH 端口(22),则应该添加以下规则:
```
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
```
4. 保存并退出文件。
5. 重新加载 iptables 配置文件以使更改生效:
```
sudo service iptables restart
```
现在,你就可以使用该端口进行永久访问了。记住,在开启任何新端口之前,请确保你已经考虑了安全风险,并采取了必要的措施来保护服务器。
iptables只允许192.168.2.20访问8090(TCP、UDP、IMCP)端口
可以使用以下命令实现:
```
iptables -A INPUT -s 192.168.2.20 -p tcp --dport 8090 -j ACCEPT
iptables -A INPUT -s 192.168.2.20 -p udp --dport 8090 -j ACCEPT
iptables -A INPUT -s 192.168.2.20 -p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p tcp --dport 8090 -j DROP
iptables -A INPUT -p udp --dport 8090 -j DROP
iptables -A INPUT -p icmp --icmp-type 8 -j DROP
```
解释:
- `-A INPUT`:添加规则到INPUT链
- `-s 192.168.2.20`:指定源IP地址为192.168.2.20
- `-p tcp/udp/icmp`:指定协议为TCP/UDP/ICMP
- `--dport 8090`:指定目标端口为8090
- `-j ACCEPT`:接受匹配的数据包
- `-j DROP`:丢弃匹配的数据包
以上命令先允许来自192.168.2.20的TCP、UDP、ICMP协议的数据包通过8090端口,然后丢弃其他来源的TCP、UDP、ICMP协议的数据包。
阅读全文