Linux防火墙端口开放方法介绍
防火墙主要由服务访问规则、验证工具、包过滤和应用网关4个部分组成,防火墙就是一个位于计算机和它所连接的网络之间的软件或硬件。在linux系统中安装一些软件时有时遇到端口被占用的情况,本文为大家介绍了遇到这种情况我们应该怎么处理
方法步骤
在安装nginx,mysql,tomcat等等服务的时候,我们会遇到需要使用的端口莫名其妙被占用,下面介绍如何解决这类问题。
说到端口,还不得不提到防火墙,本文还会简单介绍如何配置防火墙开发端口。
Linux查看端口情况的各种方法
所有端口的映射关系在 /etc/services 文件中有
Linux端口简单介绍,端口编号从0-65536,各编号端的用途如下:
0-1023:公认端口,与常见服务绑定(FTP,SSH)
1024-49151:注册端口,用于和一些服务绑定
49152-65535:动态或私有端口,可用于任意网络连接
端口分为TCP和UDP传输协议。
Linux查看端口状态命令
可以有下面的命令查看端口情况,点击命令可以调整到每个命令的使用详情:
nmap命令,端口扫描使用
netstat检测开发端口
lsof检查端口描述符
# 查看绑定本机的端口
nmap 127.0.0.1
# 检查3306端口
netstat -anlp | grep 3306
# 检测3306接口
lsof -i:3306
linux释放占用端口解决办法
解决步骤如下:
查占用端口的进程
杀掉该进程
使用下面命令即可:
# 可以写成一条命令
netstat -anp|grep 8080|awk '{print $7}'|awk -F '/' '{print $1}'|xargs kill -s 9
各命令含义如下:
netstat -anp 显示所有网络使用情况,并显示使用程序
grep 8080 匹配8080端口的记录(可能会包含18080)
awk '{print $7}' 输出第7列进程,形式如下:18989/nginx
awk -F '/' '{print $1}' 截取进程PID:18989
xargs kill -s 9 使用前一个命令的输出作为参数,杀掉该进程
释放占用端口分步解决办法
查询端口是否被占用
比如需要查询8080端口是否占用,可以下面命令
netstat -an | grep 8080
查询占用端口的进程
可以使用lsof命令查看
lsof -i:8080
也可以使用netstat和grep查看
netstat -anp|grep 8080
该命令最后一行就是占用8080端口的进程PID和名称。
杀掉占用端口的进程
可以使用kill命令直接杀死上一步中查到的进程。
kill -9 19664
linux防火墙释放端口
Linux防火墙启动和关闭
下面介绍的防火墙是iptable,对于firewalld并不适用。
开启防火墙(重启后永久生效):chkconfig iptables on
ssh命令指定端口
关闭防火墙(重启后永久生效):chkconfig iptables off
开启防火墙(即时生效,重启后失效):service iptables start
关闭防火墙(即时生效,重启后失效):service iptables stop
重启防火墙:service iptables restart
Linux查看防火墙状态
可以使用下面命令查看:
/etc/init.d/iptables status
# 或者简写
iptables status
iptables -L
# 也可以直接查看配置文件
vim /etc/sysconfig/iptables
Linux开放防火墙某个端口
比如打开8080端口,可用下面的命令:
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
# 还需要重启服务
service iptables restart
# 也可以直接编辑配置文件
vim /etc/sysconfig/iptables
# 然后在文件结尾添加一行,下面开发8080-8181之间的所有端口
iptables -A INPUT -p tcp --dport 8080:8181 -j ACCEPT
其中
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp协议,当然也有udp
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 指定是 ACCEPT -接收 或者 DROP 不接收
补充阅读:防火墙主要使用技巧
一、所有的防火墙文件规则必须更改。
尽管这种方法听起来很容易,但是由于防火墙没有内置的变动管理流程,因此文件更改对于许多企业来说都不是最佳的实践方法。如果防火墙管理员因为突发情况或者一些其他形式的业务中断做出更改,那么他撞到口上的可能性就会比较大。但是如果这种更改抵消了之前的协议更改,会导致宕机吗?这是一个相当高发的状况。
防火墙管理产品的中央控制台能全面可视所有的防火墙规则基础,因此团队的所有成员都必须达成共识,观察谁进行了何种更改。这样就能及时发现并修理故障,让整个协议管理更加简单和高效。
二、以最小的权限安装所有的访问规则。
另一个常见的安全问题是权限过度的规则设置。防火墙规则是由三个域构成的:即源(IP地址),目的地(网络/子网络)和服务(应用软件或者其他目的地)。为了确保每个用户都有足够的端口来访问他们所需的系统,常用方法是在一个或者更多域内指定打来那个的目标对象。当你出于业务持续性的需要允许大范围的IP地址来访问大型企业的网络,这些规则就会变得权限过度释放,因此就会增加不安全因素。服务域的规则是开放65535个TCP端口的ANY。防火墙管理员真的就意味着为黑客开放了65535个攻击矢量?
三、根据法规协议和更改需求来校验每项防火墙的更改。
在防火墙操作中,日常工作都是以寻问题,修正问题和安装新系统为中心的。在安装最新防火墙规则来解决问题,应用新产品和业务部门的过程中,我们经常会遗忘防火墙也是企业
安全协议的物理执行者。每项规则都应该重新审核来确保它能符合安全协议和任何法规协议的内容和精神,而不仅是一篇法律条文。
四、当服务过期后从防火墙规则中删除无用的规则。
规则膨胀是防火墙经常会出现的安全问题,因为多数运作团队都没有删除规则的流程。业务部门擅长让你知道他们了解这些新规则,却从来不会让防火墙团队知道他们不再使用某些服务了。了解退役的服务器和网络以及应用软件更新周期对于达成规则共识是个好的开始。运行无用规则的报表是另外一步。黑客喜欢从来不删除规则的防火墙团队。