第4章 Firewall防火墙2020-06-11

第4章 Firewall防火墙

别动都关了

systemctl stop iptables

systemctl stop ip6tables

systemctl stop ebtables

systemctl mask iptables

systemctl mask ip6tables

systemctl mask ebtables

systemctl reboot

systemctl start firewalld.service    启动防火墙

systemctl enable firewalld    自启动

firewalld-cmd    后面跟命令行

firewalld-cmd --help    查看一下有啥命令呗

firewall-config     图形化配置,偷懒大法

firewall-cmd --zone=block --add-source=192.168.100.0/24    添加一条规则,凡是来自192.168.100.0/24网段的信息就放到block中

firewall-cmd --zone=block --remove-source=192.168.100.0/24    remove删了这条规则

这个block 的zone 到这里的都给拒绝了,去别的机器ping就ping不通了


zone

firewall-cmd --zone=drop --add-source=192.168.100.0/24    这个drop比block还厉害,直接把你包给扔了都不告诉你

一般用drop,别用block

systemctl restart firewalld.service    重启以后临时规则就没了,永久规则还有

firewall-cmd --permanent --zone=drop --add-source=192.168.100.0/24    使用--permanent永久规则,必须重启服务后生效

firewall-cmd --list-all    列出规则,默认public


ssh 192.168.100.1 可以连到本机    支持ssh服务 

firewall-cmd --remove-service=ssh    删除对ssh服务的支持

firewall-cmd --add-service=ssh    把ssh服务加上去

firewall-cmd --get-default-zone     查看默认zone

firewall-cmd --set-default-zone=xxxx    修改zone

firewall-cmd --zone=work --list-all    查看指定zone

firewall-cmd --get-active-zones    查看活动的zone

firewall-cmd --add-port=8899/tcp    添加端口

firewall-cmd --add-source=192.168.100.0/24    来自这个网段的都可以访问

firewall-cmd --reload    重新读配置文件,类似重启,但是不停服务

firewall-cmd --add-icmp-block=echo-request     这样子就ping不通了,但是ssh还能过去

firewall-cmd --get-zone-of-interface=eno16777736    将网卡加到zone里,没指定zone就是默认zone

firewall-cmd --get-zone-of-interface=eno16777736 --zone=work     将网卡加到work里

firewall-cmd --list-all --permanent     查看永久规则

///////////别人能上网,但是ping不通你

firewall-cmd --permanent --add-icmp-block=echo-request    ping先给你关了

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --add-service=https 加服务

firewall-cmd --permanent --add-port=8899/tcp    添加端口

firewall-cmd --permanent --remove-service=ssh    移除ssh

firewall-cmd --permanent --remove-service=dhcpv6-client     移除dhcpv6-client

firewall-cmd --permanent --list-all    看一下永久规则

/////////////////////新操作

1号机2号机先日常启动防火墙

1号机安装httpd

echo qin > /var/www/html/index.html    整个测试页

systemctl restart httpd    别忘了重启服务

这时候2号机访问不了1号机的192.168.100.1

systemctl stop firewalld    你把防火墙一关,这2号机立马可以访问了

firewall-cmd --add-service=http    关想让2号机访问直接加http服务就好了

firewall-cmd --add-source=192.168.100.0/24    这个网段过来可以访问

firewall-cmd --zone=drop --change-interface=eno16777736    使用change转换规则,把这网卡来的都进drop了

这样子规则就冲突了,

echo bing > /var/www/html/index.html     修改一下测试页面看看谁的优先级高

发现测试页变bing了呀 ,说明优先级先看source

firewall-cmd --zone=block --change-source=192.168.100.0/24    再测试优先级,把source给移到block里

先看source所以直接拒绝访问了

firewall-cmd --zone=trusted --change-interface=eno16777736    在测试把网卡移到trusted

还是先看source所以直接拒绝访问了

firewall-cmd --zone=block --remove-source=192.168.100.0/24    在测试,把source规则删除

这时候source没东西就先看网卡了,就可以访问了

/////////////富规则

先装httpd

mkdir /var/www/8899

echo 80 > /var/www/html/index.html

echo 8899 > /var/www/8899l/index.html

vim /etc/httpd/conf.d/0.conf    配置文件



vim /etc/httpd/conf/httpd.conf    主配置文件修改


加个端口监听

systemctl restart httpd    别忘了重启

没开防火墙2号机是可以访问192.168.100.1和192.168.100.1:8899的

开了防火墙2号机就不能访问了

firewall-cmd --permanent --add-service=http    添加服务

firewall-cmd --reload    重读配置

这时候2号机可以访问192.168.100.1但是不能访问192.168.100.1:8899这端口转发

firewall-cmd --permanent --add-port=8899/tcp    添加8899端口

firewall-cmd --reload    重读配置

这样子2号机可以访问192.168.100.1:8899

/////////富规则80端口转8899

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" forward-port port="80" protocol="tcp" to-port="8899""

firewall-cmd --reload    别忘了重读配置

这时候你访问192.168.100.1直接转去192.168.100.1:8899了

富规则太难写了,使用图形化界面偷懒吧



然后就有了


如果工作环境不能使用图形化的话,就用你自己的机器开图形化先把富规则整出来,然后list查看对着敲就好了哈哈哈哈。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。