博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos下配置防火墙port失败
阅读量:7218 次
发布时间:2019-06-29

本文共 2651 字,大约阅读时间需要 8 分钟。

问题:将规则加入到防火墙中。总是port无法开启

(1)改动文件

首先vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT(同意5001到5009的端口通过防火墙)

接着运行/etc/init.d/iptables restart (重新启动防火墙使配置生效)。

因将该句加在文件末尾,导致防火墙重新启动后port仍然无法使用

(2)解决方法

应该在默认的22port这条规则的以下加入port新规则。然后重新启动防火墙才干生效。例如以下:

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
当中

: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 -i lo -j ACCEPT

# 意思就同意本地环回接口在INPUT表的全部数据通信,-i 參数是指定接口。接口是lo,lo就是Loopback(本地环回接口)
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
# 这两条的意思是在INPUT表和FORWARD表中拒绝全部其它不符合上述不论什么一条规则的数据包。而且发送一条host prohibited的消息给被拒绝的主机。
这个是iptables的默认策略,你也能够删除这些,另外建立符合自己需求的策略。

因此把-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT放在首行(INPUT ACCEPT前)。因默认策略没有设置不会生效.

而把-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT放在最后,运行-A INPUT -j REJECT --reject-with icmp-host-prohibited时INPUT表和FORWARD表仅仅有22,后加的端口5001到5009都会被拒绝。

(3)其它方法(root用户)

       使用命令iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT跟上述问题一样,无法开启端口,-A是加入在后行。

能够使用iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT能成功,-I是插入在前排。

       也能够使用shell命令改动文件。sed -i '/--dport/a\ -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT' /etc/sysconfig/iptables或者sed -i '/-A INPUT -j REJECT --reject-with icmp-host-prohibited/i\ -A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT' /etc/sysconfig/iptables。

       还能够使用命令system-config-firewall启动图形化界面加入port。例如以下图:

       另一种不提倡的方法:

凝视掉最后两行,或iptables -F或service iptables stop

#-A INPUT -j REJECT --reject-with icmp-host-prohibited

#-A FORWARD -j REJECT --reject-with icmp-host-prohibited)
 (4)关闭防火墙和selinux的脚本

sed -i s/^SELINUX=.*/SELINUX=disabled/g /etc/selinux/configservice iptables stop && chkconfig iptables off

转载于:https://www.cnblogs.com/yutingliuyl/p/7116615.html

你可能感兴趣的文章
iOS-数据持久化-对象归档
查看>>
iOS开发UI篇—程序启动原理和UIApplication
查看>>
MUI 里js动态添加数字输入框后,增加、减少按钮无效
查看>>
python pip 更换国内安装源(windows)
查看>>
结对编程2后篇
查看>>
oracle exp 和 imp 数据和表结构互相独立导出导入
查看>>
iphone-common-codes-ccteam源代码 CCNSPredicate.m
查看>>
这次项目中应该注意的问题和应该保持的好习惯
查看>>
python-数据结构化与保存
查看>>
LeetCode - 551. Student Attendance Record I
查看>>
Java用户线程和守护线程
查看>>
ClassLoader类加载机制&&JVM内存管理
查看>>
Caml语句 查询分配给当前用户及当前组
查看>>
记一次源码分析
查看>>
php版本引起的const问题
查看>>
js实现60s倒计时效果
查看>>
【POJ 2176】Folding
查看>>
redis的过期策略以及内存淘汰机制
查看>>
阿牛的EOF牛肉串
查看>>
随笔2013/2/13
查看>>