中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

配置 firewall 防火墻的地址偽裝和端口轉發實例

發布時間:2020-07-19 17:36:49 來源:網絡 閱讀:14651 作者:張九冫 欄目:系統運維

網關服務器和網站服務器都采用centos 7操作系統;
網關服務器安裝3塊千兆網卡,分別連接在Internet、企業內網、網站服務器。
配置 firewall 防火墻的地址偽裝和端口轉發實例
要求如下:
網關服務器連接互聯網卡ens33配置為公網IP地址,分配到firewall的external區域;連接內網網卡ens37地址為192.168.1.1,分配到firewall的trusted區域;連接服務器網卡ens38地址為192.168.2.1,分配到firewall的DMZ區域。
網站服務器和網關服務器都通過SSH來遠程管理,為了安全,將SSH默認端口改為12345。
網站服務器開啟https,過濾未加密的http流量。
網站服務器拒絕ping,網關服務器拒絕來自互聯網上的ping。
內網用戶需要通過網關服務器共享上網。
互聯網用戶需要訪問網站服務器。
基本的環境配置:
網關服務器配置 網卡 :

[root@localhost network-scripts]# ip a  = ip addr
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:fc:60:4b brd ff:ff:ff:ff:ff:ff
    inet 100.0.0.1/8 brd 100.255.255.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::5f65:9c3d:d218:7cea/64 scope link 
       valid_lft forever preferred_lft forever
3: ens36: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:fc:60:55 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global ens36
       valid_lft forever preferred_lft forever
    inet6 fe80::7456:2bbc:dc20:31bd/64 scope link 
       valid_lft forever preferred_lft forever
4: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:fc:60:5f brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.1/24 brd 192.168.2.255 scope global ens37
       valid_lft forever preferred_lft forever
    inet6 fe80::1e90:6601:56c2:c9ba/64 scope link 
       valid_lft forever preferred_lft forever

啟動網關服務器上的路由轉發功能:

[root@localhost /]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
[root@localhost /]# sysctl -p
net.ipv4.ip_forward = 1

配置 web 服務器的網卡:

[root@localhost /]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:2f:24:4b brd ff:ff:ff:ff:ff:ff
    inet 192.168.2.10/24 brd 192.168.2.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::19de:d9a7:568a:f34f/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost /]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG    100    0        0 ens33

Internet 測試機網卡配置:

[root@localhost /]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:45:66:64 brd ff:ff:ff:ff:ff:ff
    inet 100.0.0.10/8 brd 100.255.255.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::3ebc:8f75:cd28:e516/64 scope link tentative 
       valid_lft forever preferred_lft forever

web 服務器環境搭建:

[root@localhost ~]# systemctl start firewalld           #啟動防火墻
[root@localhost ~]# yum -y install httpd mod_ssl          #安裝httpd和mod_ssl
[root@localhost ~]# systemctl start httpd   #啟動httpd服務
[root@localhost ~]# systemctl enable httpd          #設置為開機自啟
[root@localhost ~]# vim /var/www/html/index.html          #新建網站測試首頁文件
<h2>test.com </h2>
[root@localhost ~]# vim /etc/ssh/sshd_config              #更改SSH的偵聽端口(需關閉SELinux):
          ................
Port 12345
         ................
[root@localhost ~]# systemctl restart sshd

在網站服務器上配置firewalld防火墻:
1、設置默認區域為dmz區域:

[root@localhost ~]# firewall-cmd --set-default-zone=dmz
success

2、為dmz區域打開https服務并添加tcp的12345端口:

[root@localhost ~]# firewall-cmd --zone=dmz --add-service=https --permanent
success
[root@localhost ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
success

3、禁止ping:

[root@localhost ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent
success

4、因為已經更改了預定義SSH服務的默認端口,所以將預定義SSH服務移除:

[root@localhost ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent
success

5、重新加載firewalld配置,并查看之前的配置:

[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
dmz (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: https
  ports: 12345/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: echo-request
  rich rules: 

網關服務器上配置firewalld防火墻:
1、將網卡添加至指定區域:

[root@localhost /]# systemctl start firewalld                     #啟用防火墻
[root@localhost /]# firewall-cmd --set-default-zone=external          #設置默認區域為external
success
[root@localhost /]# firewall-cmd --change-interface=ens37 --zone=trusted    #將ens37添加至trusted區域
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
[root@localhost /]# firewall-cmd --change-interface=ens38 --zone=dmz     #將ens38添加至dmz區域
The interface is under control of NetworkManager, setting zone to 'dmz'.
success

2、查看配置,并保存為永久

[root@localhost /]# firewall-cmd --get-active-zones 
dmz
  interfaces: ens37
external
  interfaces: ens33
trusted
  interfaces: ens36
[root@localhost /]# firewall-cmd --runtime-to-permanent          # 將當前的配置保存到文件中
success

3、在企業內部主機上測試:
配置 firewall 防火墻的地址偽裝和端口轉發實例

4、更改SSH的偵聽端口,并重啟服務(需關閉SELinux):

[root@localhost ~]# vim /etc/ssh/sshd_config      
          ................
Port 12345
         ................
[root@localhost ~]# systemctl restart sshd

5、配置external區域添加tcp的12345端口:

[root@localhost /]# firewall-cmd --zone=external --add-port=12345/tcp --permanent 
success

6、external區域移除SSH服務:

[root@localhost /]# firewall-cmd --zone=external --remove-service=ssh --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

測試ssh連接:
在 Internet 測試機通過SSH連接網關服務器的外部接口地址的12345端口:

[root@localhost /]# ssh -p 12345 100.0.0.1
The authenticity of host '[100.0.0.1]:12345 ([100.0.0.1]:12345)' can't be established.
ECDSA key fingerprint is 68:df:0f:ac:c7:75:df:02:88:7d:36:6a:1a:ae:27:23.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[100.0.0.1]:12345' (ECDSA) to the list of known hosts.
root@100.0.0.1's password: 
Last login: Sun Sep  1 16:36:33 2019
[root@localhost ~]# 

使用內網測試機SSH登錄web網站服務器的12345端口:

[root@localhost /]# ssh -p 12345 192.168.2.10
The authenticity of host '[192.168.2.10]:12345 ([192.168.2.10]:12345)' can't be established.
ECDSA key fingerprint is 68:df:0f:ac:c7:75:df:02:88:7d:36:6a:1a:ae:27:23.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[192.168.2.10]:12345' (ECDSA) to the list of known hosts.
root@192.168.2.10's password: 
Last login: Sun Sep  1 16:36:39 2019
[root@localhost ~]# 

實現 IP 偽裝與端口轉發:
1、在Internet測試機上搭建web服務,用來測試:

[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /var/www/html/index.html
<h2> www.baidu.com</h2>
[root@localhost ~]# systemctl enable httpd
[root@localhost ~]# systemctl start httpd

2、在內部測試機和dmz的網站服務區都可以訪問外網的網站(若訪問不了,則可能是公網測試機的防火墻配置問題,可先將公網測試機的防火墻關閉,或放行相關服務的流量即可):
配置 firewall 防火墻的地址偽裝和端口轉發實例
3、查看網關服務器的external區域是否開啟了地址偽裝:

[root@localhost /]# firewall-cmd --list-all --zone=external 
external (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: 
  ports: 12345/tcp
  protocols: 
  masquerade: yes                     # 表示地址偽裝已啟用
  forward-ports: 
  sourceports: 
  icmp-blocks: echo-request
  rich rules: 

4、只為源地址192.168.1.0/24網段的地址開啟地址IP偽裝。
在網關服務器上關閉external默認的地址偽裝,添加富規則,要求external區域內,源地址為192.168.1.0/24網段的地址開啟地址IP偽裝:

[root@localhost ~]# firewall-cmd --remove-masquerade --zone=external 
success
[root@localhost ~]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade'
success

在dmz區域上測試訪問發現無法訪問,但內網主機卻可以:

[root@localhost /]# curl http://100.0.0.10
curl: (7) Failed connect to 100.0.0.10:80; No route to host

5、配置端口轉發實現互聯網用戶可以訪問內部web服務器:
在網關服務器上配置:

[root@localhost /]# firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.2.10
success

在Internet測試機上訪問內網的web服務器成功:
配置 firewall 防火墻的地址偽裝和端口轉發實例
六、使用富規則實現端口轉發:

上述配置完成后,若現在公司申請了一個新的公網ip地址100.0.0.254,那么就需要重新做端口轉發了:

1、將新申請的公網地址100.0.0.254配置在網關服務器的外網接口ens33上,作為第二個IP地址:

[root@localhost /]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static
IPADDR0=100.0.0.1                                 # 改到下四行
PREFIX0=24
IPADDR1=100.0.0.254
PREFIX1=24                                           # 添加成兩個IP
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
DEVICE=ens33
ONBOOT=yes
ZONE=external

[root@localhost /]# ifdown ens33;ifup ens33             # 重啟網卡使配置生效
[root@localhost /]# ip a                           # 查看配置是否成功
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:fc:60:4b brd ff:ff:ff:ff:ff:ff
    inet 100.0.0.1/24 brd 100.0.0.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 100.0.0.254/24 brd 100.0.0.255 scope global secondary ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::5f65:9c3d:d218:7cea/64 scope link 
       valid_lft forever preferred_lft forever

2、使用富規則配置端口轉發:

[root@localhost /]# firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.0.0.254/24 forward-port port=443 protocol=tcp to-addr=192.168.2.10' 
success

3、驗證:
配置 firewall 防火墻的地址偽裝和端口轉發實例

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

元谋县| 杭州市| 大荔县| 湖口县| 金秀| 黄石市| 济南市| 兴业县| 清水县| 柯坪县| 饶阳县| 高平市| 桦甸市| 南宫市| 托克逊县| 定州市| 马关县| 辽宁省| 陇西县| 株洲县| 永丰县| 秦安县| 桓台县| 呼图壁县| 上思县| 峨边| 衢州市| 红河县| 鸡泽县| 绥芬河市| 钦州市| 同心县| 柏乡县| 霸州市| 松滋市| 衡山县| 常宁市| 广丰县| 睢宁县| 古交市| 涞水县|