扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Linux 如何开放端口和关闭端口
广宗网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站等网站项目制作,到程序开发,运营维护。成都创新互联于2013年创立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
打开端口:
sudo iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
关闭端口:
sudo iptables -A OUTPUT -p tcp --dport 端口号-j DROP
保存设置:
sudo service iptables save
netstat -an | grep 23 (查看是否打开23端口)
查看防火墙的状态
sudo ufw status
禁用防火墙
sudo ufw disable
启动防火墙
sudo ufw enable
重新加载防火墙:
sudo ufw reload
Linux 停止某端口的进程
fuser -k -n tcp 8000
kill -9 $(ps -ef|grep 127.0.0.1:8000|gawk '$0 !~/grep/ {print $2}' |tr -s '\n' ' ')
前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。
1. 可以通过"~$ netstat -anp" 来查看哪些端口被打开。
(注:加参数'-n'会将应用程序转为端口显示,即数字格式的地址,如:nfs-2049, ftp-21,因此可以开启两个终端,一一对应一下程序所对应的端口号)
2. 然后可以通过"~$ lsof -i:$PORT"查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。
(注:有些端口通过netstat查不出来,更可靠的方法是"~$ sudo nmap -sT -O localhost")
3. 若要关闭某个端口,则可以:
1)通过iptables工具将该端口禁掉,如:
"~$ sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
"~$ sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
2)或者关掉对应的应用程序,则端口就自然关闭了,如:
"~$ kill -9 PID" (PID:进程号)
如: 通过"~$ netstat -anp | grep ssh"
有显示: tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh
则: "~$ kill -9 7546"
(可通过"~$ chkconfig"查看系统服务的开启状态)
本文来自CSDN博客,转载请标明出处:
端口是linux下应用软件因需要而开启的socket套接字,具有唯一性。端口可以查看、启动关闭、设置防火墙规则等。
1、端口查看
netstat -tln //表示已数字形式查看,正在监听的端口
netstat -ap //查看所有应用占用端口情况
2、启动停止
端口自己是不会停止和启动的,需要停止和启动的是端口对应的应用。
可以先找到端口,再对应PID,命令如下:
netstat -anp|grep 57069 //这个是要找的端口号
lsof -i:57069 //查找器PID信息
第三部杀死进程:图例里面没有在这里写上,kill -9 PID
3、屏蔽
linux下一般使用防火墙的filter规则 定义允许或者不允许进行屏蔽。对于filter一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT。
例如设置在输入端屏蔽53端口:
iptables -A INPUT 1 -d 172.16.100.1 -p udp --dport 53 -j REJECT
-A 是增加规则,-d:表示匹配目标地址, -p udp表示UPD协议,--dPort 是端口53
这里表示在输入端目的地址是172.16.100.1的53端口被屏蔽
1."linux端口被占用怎么解决,为您提供linux端口被占用怎么解决图文信息,打开linux系统,在linux的桌面的空白处右击。
2.在弹出的下拉选项里,点击打开终端。
3.在终端窗口中输入netstat-tln|grep+被占端口命令。
4.输入lsof-i:+被占端口命令,回车后可查看端口被哪个进程占用。
5.输入kill-9+进程id命令,回车后即可杀死占用端口的进程。
1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。
下面是命令实现:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
再用命令 iptables -L -n 查看 是否设置好, 好看到全部 DROP 了
这样的设置好了,我们只是临时的, 重启服务器还是会恢复原来没有设置的状态
还要使用 service iptables save 进行保存
看到信息 firewall rules 防火墙的规则 其实就是保存在 /etc/sysconfig/iptables
可以打开文件查看 vi /etc/sysconfig/iptables
2、下面我只打开22端口,看我是如何操作的,就是下面2个语句
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
再查看下 iptables -L -n 是否添加上去, 看到添加了
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
现在Linux服务器只打开了22端口,用putty.exe测试一下是否可以链接上去。
可以链接上去了,说明没有问题。
最后别忘记了保存 对防火墙的设置
通过命令:service iptables save 进行保存
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
针对这2条命令进行一些讲解吧
-A 参数就看成是添加一条 INPUT 的规则
-p 指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS
到时我们要配置DNS用到53端口 大家就会发现使用udp协议的
而 --dport 就是目标端口 当数据从外部进入服务器为目标端口
反之 数据从服务器出去 则为数据源端口 使用 --sport
-j 就是指定是 ACCEPT 接收 或者 DROP 不接收
1、端口一般对应于相应的网络服务程序,要禁用端口,可以先查看端口所对应的服务。然后将服务关闭。
netstat -antup
2、也可以通过iptables将其禁用,以8080端口为例,执行如下命令:
iptables -A INPUT -p tcp --dport 8080 -j DROP
iptables -A INPUT -p tcp --sport 8080 -j DROP
iptables -A INPUT -p udp --dport 8080 -j DROP
iptables -A INPUT -p udp --sport 8080 -j DROP
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流