Centos查看端口占用进程情况linux开启端口命令

技术问题

Centos查看端口占用进程情况linux开启端口命令

2024-07-30 09:21


Centos查看端口占用进程情况linux开启端口命令

                                            




一:端口占用查看进程,终止进程

Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:
lsof -i tcp:80

列出所有使用中的端口
netstat -ntlp

检查端口被哪个进程占用
netstat -lnp|grep 8080   #8080为端口号
SSH执行以上命令,可以查看到8080端口正在被哪个进程使用。假设进程号为 1777。

查看进程的详细信息
ps 1777
SSH执行以上命令。查看相应进程号的程序详细路径

需要手动结束进程方法(杀掉进程):
kill -9 1777        #杀掉编号为1777的进程(请根据实际情况输入)

二:Cenots7默认防火墙firewalld关闭,并开启iptables

如果是CentOS7.x系统查看默认防火墙firewalld是否开启:
firewall-cmd --state
running 状态即防火墙已经开启 没开启就显示norunning

停止并屏蔽Centos7自带的防火墙firewalld:
systemctl status firewalld //查看状态
systemctl stop firewalld
systemctl mask firewalld  //屏蔽FirewallD服务,如果需要取消屏蔽呢就是用systemctl unmask firewalld
systemctl disable firewalld //删除开机启动
安装iptables-services软件包:
yum install iptables-services
在引导时启用iptables服务:
systemctl enable iptables
启动iptables服务:
systemctl start iptables
增加防火墙规则(这里的20300是我们后面要修改的SSH的新端口)方法一例:
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 20300 -j ACCEPT
保存防火墙规则:
service iptables save

/usr/libexec/iptables/iptables.init save
查看iptables开放的端口:
iptables -nL --line-number
或查看iptables列表:
iptables -L
管理iptables服务命令:
systemctl stop|start|restart iptables
修改或查看防火墙配置文件方法:
vi /etc/sysconfig/iptables

三:防火墙iptables规则深入教程

打开iptables防火墙:
chkconfig iptables on
关闭iptables防火墙:
chkconfig iptables off

如果没安装防火墙,就安装防火墙
CentOS系统安装防火墙:
yum install iptables
Debian/Ubuntu系统安装防火墙:
apt-get install iptables
 
查看现有规则:
iptables -L -n
或iptables -nL --line-number
 
清除所有规则:
iptables -F
iptables -X
iptables -Z
 
增加规则(端口可以根据自己的需要增减):
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 20000:30000 -j ACCEPT  #这个是增加ftp被动端口命令
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT  #本机解析域名
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
注意:开放端口要加到reject-with icmp-port-unreachable这个规则前面
管理iptables服务命令:
systemctl stop iptables 、  systemctl start iptables 、 systemctl restart iptables
修改或查看防火墙配置文件:
vi /etc/sysconfig/iptables
 
禁止其他未允许的规则访问:
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT
 
/etc/rc.d/init.d/iptables save      #写入规则
service iptables save               #CentOS也可以用这个写入规则,和上面的语句是一样的
chkconfig --level 345 iptables on   #将规则加入开机启动
 
service iptables restart        #重启防火墙生效,使得所有规则生效
 
 
设置以上的发现服务器无法ping通外网可以这样处理:
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all    #临时允许PING
永久允许PING配置方法:
vi /etc/sysctl.conf
输入o在下一行插入:
net.ipv4.icmp_echo_ignore_all=1
按esc键,然后输入命令:
:wq   #保存并退出 (:q!不保存退出)
sysctl -p  #使新配置生效
如果已经有net.ipv4.icmp_echo_ignore_all这一行了,直接修改=号后面的值即可的(0表示允许,1表示禁止)
 
 
四:设置DNS的方法
 
1:网卡配置文件中加入DNS信息
vi /etc/sysconfig/network-scripts/ifcfg-eth1  #可能是ifcfg-eth0,可以用ifconfig -a查看
输入o在下一行插入:
DNS1=8.8.8.8
DNS2=8.8.4.4
按esc键,然后输入命令:
:wq   #保存并退出 (:q!不保存退出)
 
2:或在默认的DNS服务器地址配置文件中写入服务器默认DNS
vi /etc/resolv.conf
输入o在下一行插入:
nameserver 8.8.8.8
nameserver 114.114.114.114
nameserver 8.8.4.4
按esc键,然后输入命令:
:wq   #保存并退出 (:q!不保存退出)
 
3:hosts主机表文件中直接指定域名的解析IP
跟Windows系统一样,Linux系统也有主机表文件。同样可以通过设置主机表地址进行特定主机的解析,优先DNS服务器地址。
配置文件,在/etc/hosts
vi /etc/hosts
 
 
五:修改FTP端口的方法(如果服务器装了FTP的情况下)
 
vsftpd来修改演示,其他ftp我不知道哪里修改,大家可以找找资料。
vi /etc/vsftpd.conf
在配置文件的最下面 加入
pasv_min_port=30001
pasv_max_port=31000
然后保存退出。
这两句话的意思告诉vsftpd, 要传输数据的端口范围就在30001到31000 这个范围内传送。
这样我们使用 iptables 就好办多了,我们就打开 30001到31000 这些端口

六:修改SSH端口(默认端口是22,为了安全修改下)

vi /etc/ssh/sshd_config
#Port 22
去掉#,改成
Port 20300
保存
重启sshd服务(重启前要将20300端口加到防火墙中开放):
systemctl restart sshd.service
会报错:
Job for sshd.service failed because the control process exited with error code. See “systemctl status sshd.service” and “journalctl-xe” for details.
原因:
selinux不允许自定义sshd服务设置端口放行
但我们不能把selinux关闭了,会造成服务器安全性能下降
查看selinux状态:
getenforce
如果是Enforcing就是启用,否则请启用selinux:
setenforce 1
查看selinux中sshd服务放行的端口号:
semanage port -l | grep ssh
先安装SELinux的管理工具semanage和依赖包policycoreutils-python:
yum provides semanage
yum install policycoreutils-python
查看selinux中sshd服务放行的端口号:
semanage port -l | grep ssh
添加自定义sshd服务端口至selinux中:
semanage port -a -t ssh_port_t -p tcp 20300
再次查看selinux中sshd服务放行的端口号:
semanage port -l | grep ssh
重启sshd服务:
systemctl restart sshd.service
这样就可以使用新的SSH端口20300


標簽:
  • Centos查看端口占用进程情况linux开启端口命令