Linux防火墙技术入门
(1)IP地址配置
[root@localhost~]# vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
(2)配置主机名
[root@localhost ~]# hostnamectl set-hostname user1
(3)将centos镜像上传并挂载,所有节点配置yum源
[root@user1 ~]# mkdir /opt/centos
[root@user1 ~]# mount CentOS-7-x86_64-DVD-1511.iso /opt/centos
mount: /dev/loop0 is write-protected, mounting read-only
[root@user1 ~]# rm -rf /etc/yum.repos.d/*
[root@user1 ~]# cat /etc/yum.repos.d/local.repo
防火墙实际应用的场景有很多,根据不同的场景可以大致有如下几个分类:
主机防火墙:服务范围为当前主机
网络防火墙:服务范围为防火墙一侧的局域网
根据防火墙的实现方式,可以划分为下面两种:
硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,Checkpoint,NetScreen
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件
而根据防火墙工作的协议栈的层次,可以划分为下面几种;
网络层防火墙:OSI下面第三层
应用层防火墙/代理服务器:代理网关,OSI七层
从网络协议上讲,防火墙分为:包过滤防火墙(Packet-Filter)、代理服务型防火墙(Proxy Service)
Linux系统中的防火墙的实现
(1)在两个节点安装并启动httpd和mariadb服务,并在user2上新建一个网页。
[root@user1 ~]# yum install mariadb-server httpd -y
[root@user1 ~]# systemctl start httpd
[root@user1 ~]# systemctl start mariadb
[root@user2 ~]# yum install mariadb-server httpd -y
[root@user2 ~]# systemctl start httpd
[root@user2 ~]# systemctl start mariadb
[root@user2 ~]# echo welcome to beijing > /var/www/html/index.html
(2)user2主机进行控制其他机器访问。
[root@user2 ~]# iptables -A INPUT -s 192.168.100.6,127.0.0.1 -j ACCEPT //允许本地windows系统访问
[root@user2 ~]# iptables -A INPUT -j REJECT //拒绝其他所有主机访问本机 (此时CRT输入不了任何东西)
[root@user2 ~]# iptables -vnL --line-numbers
(3)此时user1主机无法访问user2主机。
[root@user1 ~]# curl 192.168.100.7
(4)此时只允许user1用户访问本机的httpd服务。
[root@user2 ~]# iptables -I INPUT 3 -s 192.168.100.6 -p tcp --dport 80 -j ACCEPT
[root@user2 ~]# iptables -vnL --line-numbers
(5)此时user1主机通过TCP协议就可以访问user2主机的httpd服务内容。
[root@user1 ~]# curl 192.168.20.20
welcome to beijing
(6)在user2主机将mysql数据库允许user1主机访问。
[root@user2 ~]# iptables -I INPUT 3 -s 192.168.100.6 -p tcp --dport 3306 -j ACCEPT
[root@user2 ~]# iptables -vnL --line-numbers
(7)在user2主机将mysql数据库允许user1主机访问,并验证。
[root@user2 ~]# mysql -e “grant all on . to test@‘192.168.20.%’ identified by ‘centos’”
[root@user1 ~]# mysql -utest -pcentos -h192.168.100.6