‘壹’ linux服务器如何手去关闭不必要的服务和端口
Linux系统和Windows系统有很大的不同,不仅仅是它本身的操作界面和操作方式,系统的运行机制也不一样。因此我们在使用Linux系统的时候可以使用netstat命令来进行端口命令的查询。它和各个参数相互配合就能够帮助我们查询到Linux系统计算机的很多端口状态。比如,如果我们要在Linux系统中查看Mysql的默认端口3306是否已经被计算机启动了,那么就可以使用命令“netstat -ntlp”进行查询。
您还有什么不知道的请询问我们的运维客服:互联数据如果能帮到你不胜荣幸,如果打扰您了请多见谅。
‘贰’ 求5条iptables命令关闭所有端口(除80端口外),封锁整个linux
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 不接收
‘叁’ linux系统中怎么禁用端口
还有通过 ssh 进行 X 登录)。
就算你开了 SSH 服务,也不能登陆。
-----------
VPS 中就是影响 VPS 里面系统的 SSH 。
你远程连接 VPS 虚拟机的控制环境不受影响,这部分防火墙控制是宿主机的限制。
-> ->
注意这个顺序,下级是不能被上级控制的。
【】 里面的你可以认为是一个整体。
另外,虚机团上产品团购,超级便宜
‘肆’ linux下如何屏蔽端口
端口是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-AINPUT1-d172.16.100.1-pudp--dport53-jREJECT
-A是增加规则,-d:表示匹配目标地址,-pudp表示UPD协议,--dPort 是端口53
这里表示在输入端目的地址是172.16.100.1的53端口被屏蔽
‘伍’ 如何在linux下关闭一个正在监听的端口
1.使用netstat -anput|grep 端口号
2、ps -ef|grep 根据过滤的程序名
找到该进程编号使用kill命令结束进程
3、kill -9 5918
‘陆’ linux centos 怎么关闭指定端口
查看Centos端口命令: # netstat -lntp #查看监听(Listen)的端口
# netstat -antp #查看所有建立的TCP连接
其他关于查看服务器网络信息命令:
1、查看Linux系统主机名: Linux学习,http:// linux.it.net.cn
# hostname
localhost.localdomain
2、查看服务器IP地址:
# ifconfig|grep 'inet addr:'|grep -v '127.0.0.1'|cut -d: -f2|awk '{ print $1}'
192.168.17.238
192.168.1.9
3、查看linux网关:
# route |grep default
default 192.168.1.1 0.0.0.0 UG 0 0 0 em1
4、查看linux打开服务:
# chkconfig --list|grep 启用 #查看开启的服务
sshd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
httpd 0:关闭 1:关闭 2:关闭 3:启用 4:关闭 5:关闭 6:关闭
5、查看服务器DNS配置:
# cat /etc/resolv.conf
nameserver 192.168.0.66
nameserver 202.106.0.20
6、其他网络信息:
# iptables -L #查看防火墙规则
# route -n #查看路由表
# netstat -s #查看网络统计信息
‘柒’ 我想关闭LINUX系统上的某个端口,请问相关命令是什么详细一点的,谢谢。
前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。
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博客,转载请标明出处:http://blog.csdn.net/yjier/archive/2011/05/25/6444198.aspx
‘捌’ linux底下如何通过命令行关闭一个网络端口
可以用iptables拦截
----------------------------
>iptables -F INPUT
>iptables -P INPUT ACCEPT
>iptables -F OUTPUT
>iptables -P OUTPUT ACCEPT
‘玖’ 如何关闭linux下进程占用的端口号
1 netstat -nlp 查看占用端口号的服务
2 找到该端口号的进程
3 找到该进程id
4 kill它
程序可以一点一点来:
1 查看占用端口号的服务
[root@aslibra root]# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/
tcp 0 0 0.0.0.0:3307 0.0.0.0:* LISTEN 12711/
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3936/httpd
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 3910/
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 3753/sshd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 3786/
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 827412 23946/ /tmp/mysql.sock
unix 2 [ ACC ] STREAM LISTENING 733272 12711/ ./mysql.sock
(省掉了一些内容)
2 可以用grep筛选一下,看看规律,找到有 :3306 的一行就好
用管道符给grep处理:
[root@aslibra root]# netstat -nlp | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 23946/
既然取出一行了,那就容易了,再筛选一下,用awk分割取出其中一个
3 读取出端口号
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}'
23946/
意思是取第七个字段,这里默认应该是用tab字符分割的,已经读取出来了,但是还得拿到/前面的数字
4 取/前面的数字就可以了,这里还是可以用awk处理
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'
23946
意思是用/符号分割,取第一部分
5 然后把这个数字传给kill就可以
kill命令不能跟在管道符后面继续处理了,会出错的
[root@aslibra root]# netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }' | kill
kill: usage: kill [-s sigspec | -n signum | -sigspec] [pid | job]... or kill -l [sigspec]
需要用到"[']"操作符,它可以执行一个语句,这个可以如此执行:
kill [']netstat -nlp | grep :3306 | awk '{print $7}' | awk -F"/" '{ print $1 }'[']