Firewalld防火墻綜合案例
- 一、基礎配置
- 1、內網Web服務器配置
- 2、外網Web服務器配置
- 二、在內網web服務器上配置Firewalld防火墻
- 三、配置ip偽裝與埠轉發
- 1.內網用戶通過網關服務器共享上網
- 四、內部服務器發布到互聯網
實驗環境:
| 主機 | 作業系統 | 虛擬網卡 | IP地址 | 指向網關為 |
|---|---|---|---|---|
| 內網Web服務器 | Centos7 | VMnet2 | 192.168.100.20 | 192.168.100.10 |
| 內網客戶機 | Win7 | VMnet1 | 192.168.1.20 | 192.168.1.10 |
| 網關服務器 | Centos7 | VMnet1,2,3 | 192.168.1.10,192.168.100.10,100.1.1.10 | 充當他們網關 |
| 外網Web服務器 | Centos7 | VMnet3 | 100.1.1.20 | 100.1.1.10 |
| 外網客戶機 | Centos7 | VMnet3 | 100.1.1.30 | 100.1.1.10 |
注意:網關服務器網卡VM1對應ens33,VM2對應ens37,VM3對應ens38
內網Web和外網Web直接編輯ens33即可

一、基礎配置
一、網關服務器配置
1.配置好IP地址:

2.開啟網關路由器的路由轉發功能
[root@localhost ~]# vim /etc/sysctl.conf
在最后面添加:
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p (讓其生效)
net.ipv4.ip_forward = 1

3.測驗連通性
1)首先需要關閉所有主機防火墻
在內網客戶機ping 100.1.1.20(外網Web服務器),ping 100.1.1.30(外網客戶機)
在外網客戶機ping 192.168.100.20(內網Web服務器),ping 192.168.1.20(內網客戶機)
如果ping不通的話,一般都是沒指定網關
1、內網Web服務器配置
[root@Web-AAA ~]# mkdir /media/cdrom (創建掛載點)
[root@Web-AAA ~]# mount /dev/cdrom /media/cdrom (掛光碟)
[root@Web-AAA ~]# yum -y install httpd (安裝httpd)
[root@Web-AAA ~]# echo "這是內網" > /var/www/html/index.html (撰寫測驗網頁)
[root@Web-AAA ~]# systemctl start httpd (啟動httpd)
[root@Web-AAA ~]# systemctl enable httpd (設定為開機自啟)
[root@Web-AAA ~]# curl 192.168.100.20

2、外網Web服務器配置
[root@Web-AAA ~]# mkdir /media/cdrom (創建掛載點)
[root@Web-AAA ~]# mount /dev/cdrom /media/cdrom (掛光碟)
[root@Web-AAA ~]# yum -y install httpd (安裝httpd)
[root@Web-AAA ~]# echo "這是外網" > /var/www/html/index.html (撰寫測驗網頁)
[root@Web-AAA ~]# systemctl start httpd (啟動httpd)
[root@Web-AAA ~]# systemctl enable httpd (設定為開機自啟)
[root@Web-AAA ~]# curl 100.1.1.20

在客戶機中使用http訪問內網外網web主機頁面看能否成功


二、在內網web服務器上配置Firewalld防火墻
1)修改SSH的監聽埠,并安裝SSL軟體包
[root@Web-AAA ~]# vi /etc/ssh/sshd_config
找到:
#Port 22
改為:
Port 54321
[root@Web-AAA ~]# systemctl restart sshd
[root@Web-AAA ~]# yum -y install mod_ssl
[root@Web-AAA ~]# systemctl restart httpd

配置防火墻策略回傳 success:表示正確
2)設定默認區域為dmz區域
[root@Web-AAA ~]# systemctl start firewalld
[root@Web-AAA ~]# firewall-cmd --set-default-zone=dmz
success
3)為dmz區域打開https服務及TCP的54321埠
[root@Web-AAA ~]# firewall-cmd --zone=dmz --add-service=https --permanent
success
[root@Web-AAA ~]# firewall-cmd --zone=dmz --add-port=54321/tcp --permanent
success
4)禁止ping
[root@Web-AAA ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanen
success
5)因為預定義的SSH服務已經更改默認的埠,所以將預定義SSH服務移除
[root@Web-AAA ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent
success
6)重新加載Firewalld配置,并查看之前的配置
[root@Web-AAA ~]# firewall-cmd --reload
success

查看
[root@Web-AAA ~]# firewall-cmd --list-all --zone=dmz

四、在網關服務器上配置Firewalld防火墻,就是那個有三塊網卡的服務器
1)設定默認區域為external區域,并查看配置結果
[root@localhost ~]# systemctl start firewalld
[root@localhost ~]# firewall-cmd --set-default-zone=external
success
[root@localhost ~]# firewall-cmd --list-all (查看默認區域所有規則)

2)將ens37網卡配置到trusted區域,將ens33配置dmz區域
[root@localhost ~]# firewall-cmd --change-interface=ens37 --zone=trusted
success
[root@localhost ~]# firewall-cmd --change-interface=ens33 --zone=dmz
success
3)查看配置結果
[root@localhost ~]# firewall-cmd --get-active-zones (必須要和我的一樣)
dmz
interfaces: ens33
external
interfaces: ens38
trusted
interfaces: ens37

4)在企業內網win7測驗機使用https訪問內部網站服務器

5)更改SSH的偵聽埠,并重啟服務
[root@localhost ~]# vim /etc/ssh/sshd_config
找到:
#Port 22
改為:
Port 12345
[root@localhost ~]# systemctl restart sshd (重啟sshd服務)
6)配置external區域添加TCP的12345埠
[root@localhost ~]# firewall-cmd --zone=external --add-port=12345/tcp --permanent
success
7)配置external區域禁止ping
[root@localhost ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent
success
8)重新加載防火墻配置
[root@localhost ~]# firewall-cmd --reload
success
9)在外網客戶機上通過SSH登陸網關外部介面的12345埠
相當于遠程操縱 中間那個有三塊網卡的網關服務器
需要借助軟體SecureCRT
拖入外網客戶機主機中
鏈接:https://pan.baidu.com/s/1tZZ95wAjgO_3CTvEdzsD8Q
提取碼:yza6

內網Win7遠程登陸跟上面步驟一樣,只不過是IP和埠號不一樣
三、配置ip偽裝與埠轉發
1.內網用戶通過網關服務器共享上網
1)在內部win7測驗機使用http訪問外部網站(100.1.1.20)
肯定可以訪問
2)在內網web主機,訪問外網web主機
[root@Web-AAA ~]# curl http://100.1.1.20

3)查看網關服務器的external區域是否開啟了地址偽裝
進入網關服務器
[root@localhost ~]# firewall-cmd --list-all --zone=external

在內網客戶機重繪一下訪問100.1.1.20的網頁,內網主機多訪問幾次
去外網web服務器100.1.1.20,查看日志,日志檔案后面的是新增記錄
100.1.1.10是網關服務器的外網口IP,圖下前面都IP是源IP,越往下是新增的訪問ip

5)關閉external的地址偽裝
進入到網關服務器
[root@localhost ~]# firewall-cmd --remove-masquerade --zone=external
success
再次使用內網客戶機訪問外網web主機,并去外網web主機查看日志就是內網客戶機真實的ip

四、內部服務器發布到互聯網
(一) nat轉換為外網網卡介面ip
1.進入網關服務器
配置埠轉發,從external區域接收到埠443的流量轉發到192.168.100.20
[root@localhost ~]# firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.100.20
success
意思是外部區域,只要有人請求443埠就去找內部區域的192.168.100.20的443埠
相當與一個網關服務器做的轉換,所以要訪問網關服務器外網口ip

(二)如果給內網web站點申請了公網ip 100.1.1.200,埠轉發
進入網關服務器
1)在外網介面ens38,配置為第2個ip地址
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens38

[root@localhost ~]# systemctl restart network (重啟網卡)
[root@localhost ~]# ip a (查看ip地址)

2)配置富規則
[root@localhost ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.1.1.200/24 forward-port port=443 protocol=tcp to-addr=192.168.100.20'
success
意思是外部區域,有人找100.1.1.15的443埠就轉換到內部的192.168.100.103的443埠
訪問測驗


現在這兩個IP都可以訪問
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/153602.html
標籤:其他
上一篇:百度推送
