iptables
在设置Mysql服务器允许远程连接时需要开放一些端口,涉及到防火墙的设置。
各个教程中提到最多的就是修改iptables,然而在使用查看防火墙命令
service iptables status
提示iptables:unrecoginzed service。
当前Linux版本,ubuntu 16.04,在这个新版本中在新版中iptables不再是一个服务。
如果要继续使用iptables配置,可以通过 http://www.cnblogs.com/general0878/p/5757377.html 的方法实现。
下面介绍UFW防火墙。
UFW
Ubuntu防火墙安装和配置 http://www.linuxidc.com/Linux/2016-12/138259.html
操作流程如下:
(1)Ubuntu安装UFW防火墙
sudo apt-get install ufw
(2) 开启防火墙:
sudo ufw enable #运行以上两条命令后,开启了防火墙,并在系统启动时自动开启
# sudo ufw default deny #关闭所有外部对本机的访问,但本机访问外部正常。
(3) 开启/禁用 端口
sudo ufw allow|deny [service]
打开或关闭某个端口,例如:
sudo ufw allow smtp #允许所有的外部IP访问本机的25/tcp (smtp)端口
sudo ufw allow 22/tcp #允许所有的外部IP访问本机的22/tcp (ssh)端口
sudo ufw allow 53 #允许外部访问53端口(tcp/udp)
sudo ufw allow from 192.168.1.100 #允许此IP访问所有的本机端口
sudo ufw allow proto udp 192.168.0.1 port 53 to 192.168.0.2 port 53
sudo ufw deny smtp #禁止外部访问smtp服务
sudo ufw delete allow smtp #删除上面建立的某条规则
(4) 查看防火墙状态
sudo ufw status
(5) 补充:
#开启/关闭防火墙 (默认设置是’disable’)
ufw enable|disable
#转换日志状态
ufw logging on|off
#设置默认策略 (比如 “mostly open” vs “mostly closed”)
ufw default allow|deny
#许可或者屏蔽某些入埠的包 (可以在“status” 中查看到服务列表[见后文])
#可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 ‘allow’ 参数将把条目加入 /etc/ufw/maps ,而 ‘deny’ 则相反。基本语法如下:
ufw allow|deny [service]
(6) UFW使用范例:
#允许 53 端口
$ sudo ufw allow 53
#禁用 53 端口
$ sudo ufw delete allow 53
#允许 80 端口
$ sudo ufw allow 80/tcp
#禁用 80 端口
$ sudo ufw delete allow 80/tcp
#允许 smtp 端口
$ sudo ufw allow smtp
#删除 smtp 端口的许可
$ sudo ufw delete allow smtp
#允许某特定 IP
$ sudo ufw allow from 192.168.254.254
#删除上面的规则
$ sudo ufw delete allow from 192.168.254.254