帮我写iptables指令使得外网(10.9.0.0/24)只能telnet 192.168.60.5,不能telnet其他内网(192.168.60/24)机子
时间: 2023-12-14 08:39:40 浏览: 166
您可以使用以下iptables规则来实现此目的:
```
iptables -A FORWARD -s 10.9.0.0/24 -d 192.168.60.5 -p tcp --dport 23 -j ACCEPT
iptables -A FORWARD -s 10.9.0.0/24 -d 192.168.60.0/24 -p tcp --dport 23 -j DROP
```
这些规则将允许来自外部网络(10.9.0.0/24)的telnet流量仅限于192.168.60.5,而对于所有其他内部网络(192.168.60.0/24),telnet流量将被阻止。
请注意,这些规则只会影响转发流量,因此如果您想在本地主机上限制telnet访问,还需要添加适当的INPUT规则。
相关问题
[root@iZ7xvj0e2lepvdsr7vuprzZ ~]# iptables -L -n Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy DROP) target prot opt source destination DOCKER-USER all -- 0.0.0.0/0 0.0.0.0/0 DOCKER-ISOLATION-STAGE-1 all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED DOCKER all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 Chain OUTPUT (policy ACCEPT)
这是您的防火墙规则的输出结果。该规则包括三个链:INPUT、FORWARD和OUTPUT。每个链都有一个默认策略(policy),例如,INPUT链的默认策略是ACCEPT,而FORWARD链的默认策略是DROP。
- INPUT链:该链用于控制进入服务器的数据包。该链的默认策略是ACCEPT,因此所有进入服务器的数据包都将被接受。在该链中,您可以添加规则以控制哪些数据包可以进入服务器,哪些不可以进入。
- FORWARD链:该链用于控制转发到其他网络的数据包。该链的默认策略是DROP,因此所有转发到其他网络的数据包都将被拒绝。在该链中,您可以添加规则以控制哪些数据包可以转发到其他网络,哪些不可以转发。
- OUTPUT链:该链用于控制从服务器发送的数据包。该链的默认策略是ACCEPT,因此所有从服务器发送的数据包都将被接受。在该链中,您可以添加规则以控制哪些数据包可以从服务器发送,哪些不可以发送。
在您的规则中,您可以看到DOCKER链。这是Docker自动生成的链,用于控制Docker容器之间的网络通信。在该链中,您可以添加规则以控制Docker容器之间的通信,以及Docker容器与其他网络设备之间的通信。
利用 conntrack 模块来实现以下任务.内部主机(192.68.0.60.0/24)可以访问所有内部服务器和外网的服务器(10.9.0.0/24)。
可以通过iptables配合conntrack模块实现这一任务,具体步骤如下:
1. 允许内部主机(192.168.0.0/24)访问所有内部服务器和外网的服务器(10.9.0.0/24):
```
iptables -A FORWARD -s 192.168.0.0/24 -d 10.9.0.0/24 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s 10.9.0.0/24 -d 192.168.0.0/24 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
```
2. 禁止其他所有访问:
```
iptables -A FORWARD -j DROP
```
3. 启用IP转发:
```
echo 1 > /proc/sys/net/ipv4/ip_forward
```
这样就可以实现内部主机访问所有内部服务器和外网的服务器,其他所有访问都被禁止。注意,如果有其他的防火墙规则,需要将这些规则添加到相应的规则链中,否则会被覆盖。
阅读全文