第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不通了
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查看對著敲就好了哈哈哈哈。