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 iptablesDebian/Ubuntu系统安装防火墙:apt-get install iptables查看现有规则:iptables -L -n
或iptables -nL --line-number清除所有规则:iptables -Fiptables -Xiptables -Z增加规则(端口可以根据自己的需要增减):iptables -A INPUT -i lo -j ACCEPTiptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPTiptables -A OUTPUT -j ACCEPTiptables -A INPUT -p tcp --dport 22 -j ACCEPTiptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 21 -j ACCEPTiptables -A INPUT -p tcp --dport 20 -j ACCEPTiptables -A INPUT -p tcp --dport 20000:30000 -j ACCEPT #这个是增加ftp被动端口命令iptables -A INPUT -p tcp --dport 8080 -j ACCEPTiptables -A OUTPUT -p udp --dport 53 -j ACCEPT #本机解析域名iptables -A INPUT -p udp --sport 53 -j ACCEPTiptables -A INPUT -p udp --dport 53 -j ACCEPTiptables -A OUTPUT -p udp --sport 53 -j ACCEPTiptables -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 REJECTiptables -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.8DNS2=8.8.4.4按esc键,然后输入命令::wq #保存并退出 (:q!不保存退出)2:或在默认的DNS服务器地址配置文件中写入服务器默认DNSvi /etc/resolv.conf输入o在下一行插入:nameserver 8.8.8.8nameserver 114.114.114.114nameserver 8.8.4.4按esc键,然后输入命令::wq #保存并退出 (:q!不保存退出)3:hosts主机表文件中直接指定域名的解析IP跟Windows系统一样,Linux系统也有主机表文件。同样可以通过设置主机表地址进行特定主机的解析,优先DNS服务器地址。配置文件,在/etc/hostsvi /etc/hosts五:修改FTP端口的方法(如果服务器装了FTP的情况下)vsftpd来修改演示,其他ftp我不知道哪里修改,大家可以找找资料。vi /etc/vsftpd.conf在配置文件的最下面 加入pasv_min_port=30001pasv_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
label :
- Centos查看端口占用进程情况linux开启端口命令