更简单的防火墙ufw
ufw (Uncomplicted Firewall) 这个工具比firewalld更简单,语法更像英语且直白。
系统:Debian 9
安装:
1 |
apt install ufw |
先恢复到默认状态:
1 2 |
ufw default deny incoming ufw default allow outgoing |
以上语句设置后,不允许输入通讯,允许输出通讯。
允许ssh通过:
1 |
ufw allow ssh |
ssh使用的默认端口是22,假设端口不是22,比如搬瓦工使用特殊的端口,则直接开通端口(以2020为例):
1 |
ufw allow 2020 |
以上2020端口打开的既是tcp也是udp通道,如果只要tcp,则:
1 |
ufw allow 2020/tcp |
ufw预置了常用软件的端口,查看:
1 |
ufw app list |
返回如下结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
Available applications: AIM Bonjour CIFS DNS Deluge IMAP IMAPS IPP KTorrent Kerberos Admin Kerberos Full Kerberos KDC Kerberos Password LDAP LDAPS LPD MSN MSN SSL Mail submission NFS Nginx Full Nginx HTTP Nginx HTTPS OpenSSH POP3 POP3S PeopleNearby SMTP SSH Socks Telnet Transmission Transparent Proxy VNC WWW WWW Cache WWW Full WWW Secure XMPP Yahoo qBittorrent svnserve |
服务器设置网页时,需要打开http或者https权限,如果安装的是Nginx,可以使用代码
1 |
ufw allow "Nginx HTTP" |
或者
1 |
ufw allow "Nginx HTTPS" |
获得http及https的权限,或者直接两种都设置:
1 |
ufw allow "Nginx Full" |
另外打开http/https权限也可以直接使用ufw allow http,ufw allow https来开启权限;同时因为http对应的默认端口是80,https对应的默认端口是443,也可直接打开端口ufw allow 80,ufw allow 443.
nfw出装时的停止状态,需要开启:
1 |
ufw enable |
不想firewalld,nfw的好处是新开启的端口或服务不需要重启就能生效,可以使用代码查看:
1 |
ufw status |
如果开启的服务多的话,可以给每个服务编号:
1 |
ufw status numbered |
开启一段端口,必须分别设置tcp和udp:
1 2 |
ufw allow 6000:6007/tcp ufw allow 6000:6007/udp |
关闭某个端口:
1 |
ufw deny 2222 |
删除某个规则:
1 |
ufw delete allow 22 |
或者先查看编号:
1 |
ufw status numbered |
然后删除某个编号对应的服务,比如删除编号2对应的http服务:
1 |
ufw delete 2 |
开启ufw:
1 |
systemctl start ufw |
关闭ufw:
1 |
ufw disable |
重置ufw 规则:
1 |
ufw reset |
参考文章:
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04