文章目录
- 一、前文
- 二、默认端口
- 三、端口策略
- 四、1883端口修改
- 五、重启emqx
一、前文
EMQX 入门教程——导读
二、默认端口
- emqx初次安装和启动之后,其端口使用情况如下
[root@iZ2ze30dygwd6yh7gu6lskZ home]# netstat -npltActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 1339/systemd-resolv tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 1110/redis-server * tcp 0 0 0.0.0.0:4370 0.0.0.0:* LISTEN 7344/emqx tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 7344/emqx tcp 0 0 0.0.0.0:8883 0.0.0.0:* LISTEN 7344/emqx tcp 0 0 0.0.0.0:8084 0.0.0.0:* LISTEN 7344/emqx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1402/sshd tcp 0 0 0.0.0.0:5370 0.0.0.0:* LISTEN 7344/emqx tcp 0 0 0.0.0.0:1883 0.0.0.0:* LISTEN 7344/emqx tcp 0 0 0.0.0.0:18083 0.0.0.0:* LISTEN 7344/emqx tcp6 0 0 :::3306 :::* LISTEN 1298/mysqld tcp6 0 0 :::5355 :::* LISTEN 1339/systemd-resolv tcp6 0 0 :::6379 :::* LISTEN 1110/redis-server * tcp6 0 0 :::8080 :::* LISTEN 7760/java tcp6 0 0 :::8443 :::* LISTEN 7760/java tcp6 0 0 :::33060 :::* LISTEN 1298/mysqld
端口 | 描述 |
---|---|
8083 | mqtt ws 监听端口 |
8084 | mqtt wss 监听端口 |
1883 | mqtt tcp 监听端口 |
8883 | mqtt ssl 监听端口 |
18083 | http 监听端口 |
4370 | Erlang 分布端口 |
5370 | 集群 RPC 端口 |
EMQX 4.x 版本的时候还有8081端口,不过在EMQX 5.x时,被合并到18083
三、端口策略
常规的用法,我们一般使用和开放这两个端口:
- 1883,设备连接的端口
- 18083,后端API对接端口
因为开放,所以风险。
默认的端口号往往会引来很频繁的扫描攻击。
于是,我们要这么做:
- 1883端口改成2883端口(或者其他)
- 18083端口改成28083端口(或者其他)
- 如果是使用云服务器ECS,则别忘了在安全组中添加访问规则
- 防火墙设置,1883端口不允许境外IP访问(Linux系统firewalld防火墙的应用实操(禁止屏蔽海外国外IP访问))
- 防火墙设置,18083端口只允许本机IP和常用IP访问(Linux系统firewalld防火墙的应用实操(对外端口开放使用,对内端口限制ip地址使用,不使用端口默认关闭))
四、1883端口修改
配置文件修改/etc/emqx/emqx.conf
listeners.tcp.default {# bind = "0.0.0.0:1883" bind = "0.0.0.0:2883" max_connections = 1024000}
dashboard { listeners.http {# bind = 18083 bind = 28083 } default_username = "admin" default_password = "public"}
五、重启emqx
emqx restart 好像在5.x版本之后不能用了,只能先stop再start
[root@iZ2ze30dygwd6yh7gu6lskZ emqx]# emqx stopok
[root@iZ2ze30dygwd6yh7gu6lskZ emqx]# emqx startEMQX 5.0.7 is started successfully!
- 到了这一步,可以看到端口已经变了过来
[root@iZ2ze30dygwd6yh7gu6lskZ emqx]# netstat -npltActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 1339/systemd-resolv tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 1110/redis-server * tcp 0 0 0.0.0.0:4370 0.0.0.0:* LISTEN 9917/emqx tcp 0 0 0.0.0.0:28083 0.0.0.0:* LISTEN 9917/emqx tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 9917/emqx tcp 0 0 0.0.0.0:8883 0.0.0.0:* LISTEN 9917/emqx tcp 0 0 0.0.0.0:8084 0.0.0.0:* LISTEN 9917/emqx tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1402/sshd tcp 0 0 0.0.0.0:5370 0.0.0.0:* LISTEN 9917/emqx tcp 0 0 0.0.0.0:2883 0.0.0.0:* LISTEN 9917/emqx tcp6 0 0 :::3306 :::* LISTEN 1298/mysqld tcp6 0 0 :::5355 :::* LISTEN 1339/systemd-resolv tcp6 0 0 :::6379 :::* LISTEN 1110/redis-server * tcp6 0 0 :::8080 :::* LISTEN 7760/java tcp6 0 0 :::8443 :::* LISTEN 7760/java tcp6 0 0 :::33060 :::* LISTEN 1298/mysqld
觉得好,就一键三连呗(点赞+收藏+关注)