centos iptables 无效?iptables重启命令
很多朋友对于centos iptables 无效和iptables重启命令不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
CentOS中iptables防火墙 开放80端口方法和常用命令
在CentOS中,若想开放80端口并配置iptables防火墙,以下是详细的步骤和常用命令:
首先,你需要在INPUT链中添加一个新规则,允许TCP连接到80端口,命令如下:
/sbin/iptables-I INPUT-p tcp--dport 80-j ACCEPT
接着,保存你的配置更改:
service iptables save
重启iptables服务以应用新的配置:
service iptables restart
要检查当前的状态,可以运行:
service iptables status
对于一些常见问题和操作,这里给出简要说明:
1.安装或更新iptables规则:
/sbin/iptables-I INPUT-p tcp--dport 80-j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
2.常用的iptables命令包括直接配置和通过图形界面进行管理。命令的基本结构为:
iptables [选项]-t表名-A/I/D/R规则链名 [规则号]-i/o网卡名-p协议名-s源IP/源子网--sport源端口-d目标IP/目标子网--dport目标端口-j动作
3.例如,要清除规则、开放特定端口或屏蔽IP,可以使用以下命令:
-清除规则:`iptables-F iptables-X iptables-Z`
-开放指定端口(允许访问22、80和FTP端口):`iptables-A INPUT-p tcp--dport 22-j ACCEPT`等
-屏蔽IP:`iptables-I INPUT-s 123.45.6.7-j DROP`等
4.查看当前的iptables规则:
iptables-L-n-v
5.删除特定规则:
iptables-D INPUT 8
其中8替换为你想删除的规则的序号。
通过以上命令,你可以有效地管理和配置CentOS的iptables防火墙,确保80端口的开放和安全控制。
CentOS6下iptables有几条规则不是很明白,坐等高手指点
:INPUT ACCEPT [0:0]
#该规则表示INPUT表默认策略是ACCEPT
:FORWARD ACCEPT [0:0]
#该规则表示FORWARD表默认策略是ACCEPT
:OUTPUT ACCEPT [0:0]
#该规则表示OUTPUT表默认策略是ACCEPT
-A INPUT-m state--state ESTABLISHED,RELATED-j ACCEPT
#意思是允许进入的数据包只能是刚刚我发出去的数据包的回应,ESTABLISHED:已建立的链接状态。RELATED:该数据包与本机发出的数据包有关。
-A INPUT-j REJECT--reject-with icmp-host-prohibited
-A FORWARD-j REJECT--reject-with icmp-host-prohibited
#这两条的意思是在INPUT表和FORWARD表中拒绝所有其他不符合上述任何一条规则的数据包。并且发送一条host prohibited的消息给被拒绝的主机。
这个是iptables的默认策略,你也可以删除这些,另外建立符合自己需求的策略。
centos7 iptables
在 CentOS7系统中,firewalld和 iptables是两种常见的网络防火墙解决方案。虽然两者都提供了类似的功能,但在使用场景和配置方式上存在显著差异。
iptables默认规则相对开放,而 firewalld默认规则相对封闭。因此,推荐使用 iptables进行更细致的网络控制。
iptables的规则在/etc/sysconfig/iptables中存储,而 firewalld的配置则储存在/usr/lib/firewalld/和/etc/firewalld/中的 XML文件中。iptables在更改规则时,会清除所有旧规则并读取新规则,而 firewalld则不会创建新规则,仅运行不同规则,使其在运行时改变设置而不丢失当前配置。
在使用 firewalld时,可以通过以下命令查看和管理防火墙规则:
bash
firewall-cmd--list-all
firewall-cmd--list-services
firewall-cmd--list-port
firewall-cmd--reload
firewall-cmd--add-port=8080/tcp--permanent
firewall-cmd--add-service=http--permanent
firewall-cmd--remove-port=8080/tcp--permanent
firewall-cmd--remove-service=http--permanent
firewall-cmd--add-forward-port=port=80:proto=tcp:toport=8080--permanent
firewall-cmd--zone=public--add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.217.128--permanent
为了使用 iptables,需先关闭 firewalld并安装 iptables:
bash
systemctl stop firewalld.service
systemctl disable firewalld.service
yum-y install iptables-services
systemctl restart iptables.service
在 iptables中配置规则的常用命令有:
bash
iptables-L-n
iptables-F
iptables-X
可以使用以下方式在 iptables中修改防火墙规则:
修改/etc/sysconfig/iptables文件(重启 iptables使更改生效)。
直接使用命令(需要使用 `save`命令使配置生效)。
例如,直接添加一条开放 8080端口的规则:
bash
iptables-I INPUT-p tcp-m state--state NEW-m tcp--dport 8080-j ACCEPT
service iptables save
遇到的问题是,使用 `iptables-A`添加规则时,虽然规则被写入配置文件,但无法访问。后来发现使用 `iptables-I`添加配置可以解决问题。原因是 `-A`添加在规则列表末尾,而 `-I`添加在第一条,因此优先级不同。
在 iptables中,可以使用以下规则进行更细粒度的控制:
同时开放多个端口:`iptables-I INPUT-p tcp-m multiport--dport 22,80-j ACCEPT`。
开放连续端口范围:`iptables-I INPUT-p tcp--dport 5000:6000-j ACCEPT`。
允许特定网段访问:`iptables-I INPUT-p all-s 0.0.0.0/0-j ACCEPT`。
允许特定 IP的特定端口访问:`iptables-I INPUT-p tcp-s 0.0.0.0-dport 8080-j ACCEPT`。
禁止特定主机访问:`iptables-I INPUT-p tcp-s 0.0.0.0-j DROP`。
移除规则:`iptables-D INPUT 7`。
在 iptables配置中,放行使用 `ACCEPT`,禁止使用 `DROP`。