centos

centos iptables怎样限制网络访问

小樊
42
2025-08-18 12:47:30
栏目: 智能运维

在CentOS系统中,使用iptables可以限制网络访问。以下是一些基本的步骤和示例,帮助你设置iptables规则来限制网络访问。

1. 查看当前的iptables规则

首先,你可以查看当前的iptables规则,以便了解现有的配置。

sudo iptables -L -n -v

2. 允许特定IP地址访问

你可以允许特定的IP地址访问你的服务器。例如,允许IP地址为192.168.1.100的主机访问SSH端口(22)。

sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT

3. 拒绝所有其他IP地址访问SSH端口

在允许特定IP地址之后,你可以拒绝所有其他IP地址访问SSH端口。

sudo iptables -A INPUT -p tcp --dport 22 -j DROP

4. 允许特定端口的访问

你可以允许特定端口的访问。例如,允许HTTP(80)和HTTPS(443)端口的访问。

sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

5. 拒绝所有其他端口的访问

在允许特定端口之后,你可以拒绝所有其他端口的访问。

sudo iptables -A INPUT -j DROP

6. 保存iptables规则

在CentOS 7及以上版本中,iptables规则默认不会保存在重启后仍然有效。你可以使用firewalld服务来管理防火墙规则,或者手动保存iptables规则。

使用firewalld服务

sudo systemctl start firewalld
sudo systemctl enable firewalld

手动保存iptables规则

你可以使用以下命令保存iptables规则:

sudo service iptables save

或者

sudo iptables-save > /etc/sysconfig/iptables

7. 查看保存的iptables规则

你可以查看保存的iptables规则,以确保它们已经正确配置。

sudo iptables -L -n -v

示例:限制特定IP访问特定端口

假设你想允许IP地址为192.168.1.100的主机访问端口80和443,而拒绝所有其他IP地址的访问,可以这样做:

# 允许特定IP访问端口80和443
sudo iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -s 192.168.1.100 -j ACCEPT

# 拒绝所有其他IP访问端口80和443
sudo iptables -A INPUT -p tcp --dport 80 -j DROP
sudo iptables -A INPUT -p tcp --dport 443 -j DROP

# 允许SSH访问(假设你已经允许了特定IP访问SSH)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 拒绝所有其他输入
sudo iptables -A INPUT -j DROP

通过这些步骤,你可以使用iptables在CentOS系统中限制网络访问。请根据你的具体需求调整规则。

0
看了该问题的人还看了