Linux网络服务_防火墙_firewalld设定
2018-03-02 17:25
567 查看
FIirewalld
1.firewalld服务启动
systemctl stop iptable.service //关闭iptablesystemctl mask iptable.service //锁定iptable
systemctl unmask firewalld.service //解锁firewalld
systemctl start firewalld.service //开启firewalld
systemctl enable firewalld.service //开机自动启动firewalld
firewall-config //firewalld图形界面开启方式
firewalld域zone:(默认publi c)
block //限制,域 拒绝所有网络
dmz //非军事域, 只有ssh服务
drop //丢弃域, 任何接收的网络数据包都被丢弃,没有任何回复
external //外部域, 出去的ipv4网络连接通过此区域伪装和转发仅接收ssh服务连接
home //home域, 仅接收ss,mdns,ipp-client,或dhcpv6-client服务连接
internal //内部域, 用于内部网络,接受ssh、mdns、ipp-client、samba-client、dhcpv6-client服务连接
public //公共域 在公共区域内使用,接受ssh或dhcpv6-client服务连接,为firewalld的默认区域
ROL //ROL域
trusted //信任域, 可接受所有的网络连接(优先级别最高)
work //工作域, 用于工作区,仅接受ssh、ipp-client或dhcpv6-client服务连接
(1).基本参数
interfaces //接口
sources //指定源地址
services //服务
ports //端口
masquerading //伪装
forward-ports
//端口转发
icmp- blocks //icmp协议阻绝一个或多个ICMP类型
rich rules //rich rules是一种类似iptables的设置
(2).安装包相关命令
yum search firewalld //查看安装包信息
rpm -ql firewalld.noarch //查看所有配置文件
/usr/lib/firewalld/services/http.xml:
vim /usr/lib/firewalld/services/http.xml
5 <port protocol="tcp" port="80"/> //默认接口80 //即开启阿帕奇服务后自动开启80接口
(3).常用的查看命令
示例:
[root@server103 ~]# firewall-cmd --list-all --zone=trusted
--state //查看状态
--list-all //查看firewalld的所有信息
--get-active-zone //查看正在运行(已激活)的域
--get-default-zone //查看默认的域
--get-zones //查看所有域的名称
--zone=public --list-all //查看public域的所有信息
--get-services //查看所有服务
--list-all-zones //查看所有域
--zone=trusted --list-all //查看trusted域的内容
(4).常用的设置命令
--set-default-zone=dmz //设定默认域为dmz
--permanent --add-source=172.25.254.103 //永久添加可接收数据包来源172.25.254.103
--remove-source=172.25.254.103 //临时删除可接收数据包来源172.25.254.103
--reload //重新加载firewalld,若更改永久性的设定,必须重启,临时重启后失效
注意:
--permanent //永久修改,不加permanent为临时修改
--add //添加
--remove //删除
--reload //重新加载firewalld
3.实现双网卡连接的管控(连接172为trusted,192为public)
添加网卡eth1,保证存在eth0与eth1双网卡
ifconfig //查看网卡设置
firewalld-cmd --list-all //查看firewalld信息
firewall-cmd --set-default-zone=public //设定默认域为public
firewall-cmd --get-default-zone //查看默认域
yum install httpd -y //验证已安装阿帕奇
echo 172.25.254.103> /var/www/html/index.html //更改apache功能的默认文件
systemctl start httpd //启动阿帕奇
此时server可以连接到172.25.254.103
真机无法连接
firewall-cmd --set-default-zone=trusted //设定firewalld为信任域
firewall-cmd --list-all //查看
此时都可以连接
firewall-cmd --set-default-zone=public //还原设置
firewall-cmd --list-all //查看
firewall-cmd --change-interface=eth0 --zone=trusted //设定eth0为trusted,eth1还是public
firewall-cmd --list-all //查看
firewall-cmd --get-active-zones //查看正在运行的域,此时有两个
firewall-cmd --remove-interface=eth0 //删除eth0网卡的防火墙设定
firewall-cmd --list-all //查看
firewall-cmd --get-active-zones //查看正在运行的域,此时有一个
firewall-cmd --add-interface=eth0 --zone=public //添加eth0网卡的防火墙设定,域为public
firewall-cmd --get-active-zones //查看正在运行的域,此时有两个
【实验】
[root@server103 ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.25.254.103 netmask 255.255.255.0 broadcast 172.25.254.255
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.103 netmask 255.255.255.0 broadcast 192.168.0.255
[root@server103 ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0 eth1
sources:
services: dhcpv6-client ssh
ports: 24/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@server103 ~]# firewall-cmd --set-default-zone=public
success
[root@server103 ~]# firewall-cmd --get-default-zone
public
[root@server103 ~]# yum install httpd -y
[root@server103 ~]# echo 172.25.254.103> /var/www/html/index.html
[root@server103 ~]# systemctl start httpd
此时server可以连接到172.25.254.103
真机无法连接
[root@server103 ~]# firewall-cmd --set-default-zone=trusted
success
[root@server103 ~]# firewall-cmd --list-all
trusted (default, active)
interfaces: eth0 eth1
sources: 172.25.254.103/24
services:
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
此时都可以连接
[root@server103 ~]# firewall-cmd --set-default-zone=public
success
[root@server103 ~]# firewall-cmd --list-all
public (default, active)
interfaces: eth0 eth1
sources:
services: dhcpv6-client ssh
ports: 24/tcp
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@server103 ~]# firewall-cmd --change-interface=eth0 --zone=trusted
success
[root@server103 ~]# firewall-cmd --get-active-zones
ROL
sources: 172.25.0.252/32
public
interfaces: eth1
trusted
interfaces: eth0
[root@server103 ~]# firewall-cmd --remove-interface=eth0
success
[root@server103 ~]# firewall-cmd --get-active-zones
ROL
sources: 172.25.0.252/32
public
interfaces: eth1
trusted
sources: 172.25.254.103/24
[root@server103 ~]# firewall-cmd --add-interface=eth0 --zone=public
success
[root@server103 ~]# firewall-cmd --get-active-zones
sources: 172.25.0.252/32
public
interfaces: eth0 eth1
trusted
sources: 172.25.254.103/24
4.实现访问192可以172不可以
实验环境:server双网卡,172.25.254.103和192.168.0.103
desktop192.168.0.203
真机172.25.254.3
firewall-cmd --list-all //查看防火墙设定,此时eth0和eth1都在public
firewall-cmd --add-source=192.168.0.0/24 --zone=trusted
此时服务器中trusted添加了192网段,真机连服务器不通,客户机器连172.25.254.103不通,
客户机连192.168.0.103通
清理浏览器缓存ctrl+shift+delete
5.将http的80接口改为8080
vim /etc/httpd/conf/httpd.conf
42 Listen 8080
vim /usr/lib/firewalld/services/http.xml
5 <port protocol="tcp" port="8080"/>
systemctl restart httpd.service
firewall-cmd --remove-source=192.168.0.0/24 --zone=trusted
firewall-cmd --list-all
firewall-cmd --complete-reload完全重启,包括正在运行的
6.server的添加与设置
vim /usr/lib/firewalld/services/http.xml //将8080端口还原成默认
5 <port protocol="tcp" port="80"/>
firewall-cmd --zone=public --add-service=http
systemctl restart httpd.service
systemctl restart firewalld.servic
此时无法连接8080,可连接80
[root@server103 ~]# vim /etc/httpd/conf/httpd.conf
42 Listen 80
firewall-cmd --zone=public --add-port=8080/tcp
此时可以连接80与8080
firewall-cmd --permanent --remove-service=ssh //永久删除ssh服务,重启动后生效
firewall-cmd --add-source=172.25.254.3 --zone=trusted
firewall-cmd --reload
firewall-cmd --list-all
此时无法通过客户机192.168.0.203通过ssh服务连接192.168.0.103,
若正在连接中则中断连接,无提示
7.firewall的类iptables高级策略添加
firewall-cmd --list-all
firewall-cmd --get-active-zones
firewall-cmd --direct --get-all-rules //查看所有规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -s 192.168.0.203 -p tcp --dport 80 -j REJECT ////添加规则(192无法登录)
success
usage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args> //规则格式
此时desktop192.168.0.203打开firefox访问192.168.0.103显示无法访问
firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -s 192.168.0.203 -p tcp --dport 80 -j REJECT
netstat -antlupe | grep httpd //查看http服务接口
vim /etc/httpd/conf/httpd.conf //还原80接口
42 Listen 80
systemctl restart httpd.service
firewall-cmd --direct --get-all-rules
firewall-cmd --direct --remove-rule ipv4 filter INPUT 0 -s 192.168.0.203 -p tcp --dport 80 -j REJECT //删除策略
此时desktop192.168.0.203打开firefox访问192.168.0.103可以成功
firewall-cmd --direct --get-all-rules
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 192.168.0.203 -p tcp --dport 80 -j REJECT //添加非192.168.0.203不能登陆的策略
8.端口转发
在服务端
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-masquerade
[root@server103 ~]# firewall-cmd --permanent \
> --zone=public \
> --add-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.9
success //设置地址转换
firewall-cmd --reload
firewall-cmd --list-all
[kiosk@foundation3 Desktop]$ ssh root@172.25.254.103 //真机连接检验
这样用192.168.0.203 ssh root@192.168.0.103 -X,连上后ifconfig查看ip是9,成功
9.地址伪装
firewall-cmd --permanent --remove-masquerade //关闭伪装
firewall-cmd --permanent \ //还原上步操作
> --zone=public \
> --remove-forward-port=port=22:proto=tcp:toport=22:toaddr=172.25.254.3
firewall-cmd --add-rich-rule='rule family=ipv4 masquerade' //地址伪装
(伪装成中转站地址,原来只能ping不能ssh,设定这个就能ssh了,并且产生伪装)
用192.168.0.203 ssh root@172.25.254.3 可以连上,并且w查看是中转站ip
相关文章推荐
- Linux网络服务_防火墙_iptables设定
- linux系统之网络防火墙(firewalld服务和iptables服务)
- Linux网络服务_防火墙_tcpwarp的安全设定
- linux学习第二十九篇:linux网络相关,防火墙:firewalld和netfilter,netfilter5表5链介绍,iptables语法
- linux命令:iptables、modprobe装载模块、网络防火墙服务
- 安装linux下面用来配置网络,防火墙,系统服务等设置的图形小工具Setup
- Linux网络服务_防火墙_守护进程xinted,客户端telnet
- Linux防火墙的配置方法(firewalld服务)
- Linux网络服务_防火墙_iscsi设备共享
- Linux网络防火墙【3】 Linux内核网络netfilter module 举例
- Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务
- Linux防火墙之具有命令行的FirewallD的基本操作
- Linux下防火墙,开启80、3306等服务端口
- Linux防火墙配置(iptables, firewalld)
- Linux网络相关、firewalld和netfilter
- linux网络服务-http
- CentOS 7防火墙服务FirewallD指南
- Rhel7.2的网络配置,防火墙、SELinux服务关闭及YUM源配置
- Linux网络相关、firewalld和netfilter 、netfilter5表5链介绍 、 iptables语法
- Suse Linux Enterprise 12 防火墙开放服务及端口