
1、去阿里云开放端口
2、root下使用vim /etc/ssh/sshd_config
找到Port 22 编辑模式下 加入Port 25846,并ESC退出编辑模式,:wq保存退出
3、systemctl restart sshd命令,重启服务。
4、firewall-cmd --query-port=25846/tcp 查询指定端口是否已开
如果是no就开启端口 (–permanent永久生效,没有此参数重启后失效)
重新加载
至此完成。
扩展下:
firewall-cmd --zone= public --remove-port=25846/tcp --permanent 永久删除端口
安全组是主动防御,防火墙是被动防御。
linux对于非root权限用户不能使用1024以下的端口,对于一些服务,过高的权限,会带来一定的风险。那么对于低权限的用户如何对外开放1024以下的端口。我这里找到几种办法并且亲测可行
首先搭建环境 centos7 账户 tengine 没有 sudo 权限
利用 nginx 做反向代理,nginx 监听 80 端口,将请求转发到实际监听的端口,示例:
首先程序绑定1024以上的端口,然后root权限下做转发注意有些系统需要手动开启IP FORWARD功能
root账户下执行
从图片可以看出来nginx可以运行,但是主进程仍然是以root权限运行,这样并不安全。
从 2.1 版本开始,Linux 内核有了能力的概念,这使得普通用户也能够做只有超级用户才能完成的工作,这包括使用端口。
获取 CAP_NET_BIND_SERVICE 能力,即使服务程序运行在非root帐户下,也能够 binding 到低端口。使用的方法:
切换到 tengine 账户下,信息如下:
最后别忘记怎么清除这个能力
端口是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端口被屏蔽
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)