iptables實戰案例

目錄

一、實驗拓撲

二、網絡規劃

三、實驗要求

四、環境準備

1.firewall

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

(2)打開firewall路由轉發

2.PC1(內網)

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

3.PC2外網

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

4.服務器

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

(3)下載nginx,并開通服務

5.環境檢測

(1)內網連接

(2)外網連接

五、防火墻配置及測試


一、實驗拓撲

二、網絡規劃

內部PC1位于內網區域,地址段為: 192.168.1.0/24,pc1地址為:192.168.1.1/24,網關地址為:192.168.1.254/24

服務器S1位于服務器區域,地址段為: 192.168.2.0/24,s1地址為:192.168.2.1/24,網關地址為:192.168.2.254/24

PC2位于互聯網區域,模擬外部互聯網,地址段為:10.0.0.0/8,pc2地址為:10.0.0.1/8

Linux防火墻的三塊網卡為別連接不同的網絡區域,地址分別為 :ens33 192.168.1.254/24;ens34 10.0.0.100/8;ens35 192.168.2.254/24

三、實驗要求

內部網絡中的pc1采用SNAT訪問外部互聯網,但是無法ping到內部網關。

內部網絡服務器s1通過DNAT發布服務到互聯網。

互聯網主機pc2能夠訪問DMZ區域的服務器,但是不能夠進行ping和ssh連接。

四、環境準備

1.firewall

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

?
#配置網卡[root@SERVER1 ~]# cd /etc/sysconfig/network-scripts/[root@SERVER1 network-scripts]# vim ifcfg-ens160TYPE=EthernetBOOTPROTO=staticNAME=ens160UUID=e9cd890f-3b47-4859-8c19-3040664051f7DEVICE=ens160ONBOOT=yesIPADDR=192.168.1.254PREFIX=24[root@SERVER1 network-scripts]# vim ifcfg-ens192TYPE=EthernetBOOTPROTO=staticNAME=ens192DEVICE=ens192ONBOOT=yesIPADDR=10.0.0.100PREFIX=8[root@SERVER1 network-scripts]# vim ifcfg-ens224TYPE=EthernetBOOTPROTO=staticNAME=ens224DEVICE=ens224ONBOOT=yesIPADDR=192.168.2.254PREFIX=24 #關閉防火墻 設置selinux[root@SERVER1 network-scripts]# systemctl stop firewalld.service [root@SERVER1 network-scripts]# setenforce 0

(2)打開firewall路由轉發

?[root@SERVER1 network-scripts]# vim /etc/sysctl.conf[root@SERVER1 network-scripts]# sysctl -pnet.ipv4.ip_forward = 1

2.PC1(內網)

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

?#關閉防火墻 設置selinux[root@PC1 network-scripts]# systemctl stop firewalld.service [root@PC1 network-scripts]# setenforce 0#設置網卡[root@PC1 ~]# cd /etc/sysconfig/network-scripts/[root@PC1 network-scripts]# vim ifcfg-ens160TYPE=EthernetBOOTPROTO=staticNAME=ens160DEVICE=ens160ONBOOT=yesIPADDR=192.168.1.1PREFIX=24GATEWAY=192.168.1.254DNS1=192.168.1.254

3.PC2外網

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

?#關閉防火墻 設置selinux[root@PC2 network-scripts]# systemctl stop firewalld.service [root@PC2 network-scripts]# setenforce 0#設置網卡 網關[root@PC2 ~]# cd /etc/sysconfig/network-scripts/[root@PC2 network-scripts]# vim ifcfg-ens160TYPE=EthernetBOOTPROTO=staticNAME=ens160DEVICE=ens160IPADDR=10.0.0.1PREFIX=8GATEWAY=10.0.0.254DNS1=10.0.0.254ONBOOT=yes

4.服務器

(1)配置防火墻各大網卡IP并禁用 firewall和selinux

?#關閉防火墻 設置selinux[root@localhost network-scripts]# systemctl stop firewalld.service [root@localhost network-scripts]# setenforce 0#設置網卡 網關[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# vim ifcfg-ens160TYPE=EthernetBOOTPROTO=staticNAME=ens160DEVICE=ens160ONBOOT=yesIPADDR=192.168.2.1PREFIX=24GATEWAY=192.168.2.254DNS1=192.168.2.254

(3)下載nginx,并開通服務

?#配置本地源[root@localhost ~]# cd /etc/yum.repos.d/[root@localhost yum.repos.d]# vim local.repo [local]name=localbaseurl=file:///mnt/AppStreamenabled=1gpgcheck=0root@localhost yum.repos.d]# mount /dev/sr0 /mnt/mount: /mnt: WARNING: device write-protected, mounted read-only.mount: (hint) your fstab has been modified, but systemd still usesthe old version; use 'systemctl daemon-reload' to reload.[root@localhost yum.repos.d]# yum install -y nginx

5.環境檢測

(1)內網連接

?[root@PC1 ~]# ping 192.168.2.1PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.64 bytes from 192.168.2.1: icmp_seq=1 ttl=63 time=0.685 ms?[root@PC1 ~]# ping 10.0.0.100PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.639 ms64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.694 ms?[root@localhost ~]# ping 192.168.1.1PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.64 bytes from 192.168.1.1: icmp_seq=1 ttl=63 time=0.505 ms?[root@localhost ~]# ping 10.0.0.100PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.412 ms64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.404 ms
??

(2)外網連接

?[root@localhost network-scripts]# ping 10.0.0.100PING 10.0.0.100 (10.0.0.100) 56(84) bytes of data.64 bytes from 10.0.0.100: icmp_seq=1 ttl=64 time=0.811 ms64 bytes from 10.0.0.100: icmp_seq=2 ttl=64 time=0.395 ms?

五、防火墻配置及測試

內部網絡中的pc1采用SNAT訪問外部互聯網,但是無法ping到內部網關。

?#修改iptables 內部網絡通過SNAT,訪問外部網絡[root@SERVER1 ~]# iptables -t filter -A INPUT -p icmp --icmp-type 8 -j DROP#訪問外網測試[root@SERVER1 ~]# ping 10.0.0.1PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.469 ms64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.408 ms^C--- 10.0.0.1 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1001msrtt min/avg/max/mdev = 0.408/0.438/0.469/0.037 ms#修改iptables 使內網不能訪問網關[root@SERVER1 ~]# iptables -t filter -A INPUT -s 192.168.1.1 -d 192.168.1.254 -p icmp --icmp-type 8 -j DROP[root@PC1 ~]# ping 192.168.1.254PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.#服務器訪問內網[root@localhost ~]# ping 192.168.1.1PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.64 bytes from 192.168.1.1: icmp_seq=1 ttl=63 time=0.851 ms64 bytes from 192.168.1.1: icmp_seq=2 ttl=63 time=0.822 ms

內部網絡服務器s1通過DNAT發布服務到互聯網。

 
?#配置nginx[root@localhost yum.repos.d]# systemctl start nginx[root@localhost yum.repos.d]# cd /usr/share/nginx/html/[root@localhost html]# ls404.html  50x.html  index.html  nginx-logo.png  poweredby.png[root@localhost html]# echo c2505 > index.html [root@localhost html]# curl 192.168.2.1c2505?#配置iptables[root@SERVER1 ~]# iptables -t nat -A PREROUTING -i ens192 -d 10.0.0.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1[root@SERVER1 ~]# iptables -nL -t natChain PREROUTING (policy ACCEPT)target ? ? prot opt source ? ? ? ? ? ? ? destination ? ? ? ? DNAT ? ? ? tcp ?-- ?0.0.0.0/0 ? ? ? ? ? ?10.0.0.100 ? ? ? ? ? tcp dpt:80 to:192.168.2.1#測試[root@localhost ~]# curl 10.0.0.100c2505
互聯網主機pc2能夠

訪問DMZ區域的服務器,但是不能夠進行ping和ssh連接。

?#配置iptables[root@SERVER1 ~]# iptables -t nat -A PREROUTING -i ens192 -d 10.0.0.100 -p tcp --dport 80 -j DNAT --to-destination 192.168.2.1[root@SERVER1 ~]# iptables -t filter -A INPUT -p icmp --icmp-type 8 -j DROP[root@SERVER1 ~]# iptables -t filter -A INPUT -p tcp -s 10.0.0.1 --dport 22 -j DROP[root@SERVER1 ~]# iptables -nL Chain INPUT (policy ACCEPT)target ? ? prot opt source ? ? ? ? ? ? ? destination ? ? ? ? DROP ? ? ? icmp -- ?0.0.0.0/0 ? ? ? ? ? ?0.0.0.0/0 ? ? ? ? ?  icmptype 8DROP ? ? ? tcp ?-- ?10.0.0.1 ? ? ? ? ? ? 0.0.0.0/0 ? ? ? ? ?  tcp dpt:22#測試[root@localhost ~]# curl 10.0.0.100c2505[root@localhost ~]# ssh root@192.168.2.1ssh: connect to host 192.168.2.1 port 22: No route to host[root@localhost ~]# ping 192.168.2.1PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.
??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/83603.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/83603.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/83603.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

macOS 連接 Docker 運行 postgres,使用navicat添加并關聯數據庫

下載 docker注冊一個賬號,登錄 Docker創建 docke r文件 mkdir -p ~/.docker && touch ~/.docker/daemon.json寫入配置(全量替換) {"builder": {"gc": {"defaultKeepStorage": "20GB",&quo…

docker離線鏡像下載

背景介紹 在某些網絡受限的環境中,直接從Docker Hub或其他在線倉庫拉取鏡像可能會遇到困難。為了在這種情況下也能順利使用Docker鏡像,我們可以提前下載好所需的鏡像,并通過離線方式分發和使用。 當前鏡像有:python-3.8-slim.ta…

Android 3D球形水平圓形旋轉,旋轉動態更換圖片

看效果圖 1、事件監聽類 OnItemClickListener:3D旋轉視圖項點擊監聽器接口 public interface OnItemClickListener {/*** 當旋轉視圖中的項被點擊時調用** param view 被點擊的視圖對象* param position 被點擊項在旋轉視圖中的位置索引(從0開始&a…

48V帶極性反接保護-差共模浪涌防護方案

在工業自動化(電動機驅動 / 工業機器人)、交通基礎設施(充電樁 / 車載電子)、安防系統(監控攝像頭 / 門禁)、儲能設備(BMS / 離網控制器)等領域,DC48V 電源因安全特低電壓…

CentOS在vmware局域網內搭建DHCP服務器【踩坑記錄】

1. 重新設置環境 配置dhcp服務踩了不少坑,這里重頭搭建記錄一下: 1.1 centos 網卡還原 如果之前搭了亂七八糟的環境,導致NAT模式也沒法上網,這里重新還原 我們需要在NAT模式下聯網,下載DHCP服務 先把centos的網卡還…

《Docker》架構

文章目錄 架構模式單機架構應用數據分離架構應用服務器集群架構讀寫分離/主從分離架構冷熱分離架構垂直分庫架構微服務架構容器編排架構什么是容器,docker,鏡像,k8s 架構模式 單機架構 單機架構其實就是應用服務器和單機服務器都部署在同一…

Web3時代的數據保護挑戰與應對策略

隨著互聯網技術的飛速發展,我們正步入Web3時代,這是一個以去中心化、用戶主權和數據隱私為核心的新時代。然而,Web3時代也帶來了前所未有的數據保護挑戰。本文將探討這些挑戰,并提出相應的應對策略。 數據隱私挑戰 在Web3時代&a…

從零打造算法題刷題助手:Agent搭建保姆級攻略

我用Trae 做了一個有意思的Agent 「大廠機試助手」。 點擊 https://s.trae.com.cn/a/d2a596 立即復刻,一起來玩吧! Agent 簡介 Agent名稱為大廠機試助手,主要功能有以下三點。 解題: 根據用戶給出的題目給出具體的解題思路引導做…

【JavaWeb】MVC三層架構

MVC三層架構 MVC 是什么?三層架構的組成(View、Controller、Model)各層職責劃分示例說明面試高頻問題與參考答案 MVC(Model-View-Controller)是一種經典的軟件設計模式,廣泛應用于 Web 應用開發中&#xf…

嵌入式分析利器:DuckDB與SqlSugar實戰

? 一、DuckDB 的核心特性與適用場景 DuckDB 是一款 嵌入式分析型數據庫(OLAP) ,專為高效查詢設計,主要特點包括: 列式存儲與向量化引擎 數據按列存儲,提升聚合統計效率(如 SUM/AVG&#xf…

React---day6、7

6、組件之間進行數據傳遞 **6.1 父傳子&#xff1a;**props傳遞屬性 父組件&#xff1a; <div><ChildCpn name"蔣乙菥" age"18" height"1,88" /> </div>子組件&#xff1a; export class ChildCpn extends React.Component…

Windows上用FFmpeg采集攝像頭推流 → MediaMTX服務器轉發流 → WSL2上拉流播放

1. Windows上 FFmpeg 推流&#xff08;攝像頭采集&#xff09; 設備名稱可用 ffmpeg -list_devices true -f dshow -i dummy 查詢&#xff0c;假設為Integrated Camera 采集推流示例&#xff08;推RTMP到MediaMTX&#xff09;&#xff1a; ffmpeg -rtbufsize 100M -f dshow …

SpringBoot1--簡單體驗

1 Helloworld 打開&#xff1a;https://start.spring.io/ 選擇maven配置。增加SpringWeb的依賴。 Generate之后解壓&#xff0c;代碼大致如下&#xff1a; hpDESKTOP-430500P:~/springboot2/demo$ tree ├── HELP.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── s…

MATLAB 中調整超參數的系統性方法

在深度學習中&#xff0c;超參數調整是提升模型性能的關鍵環節。以下是 MATLAB 中調整超參數的系統性方法&#xff0c;涵蓋核心參數、優化策略及實戰案例&#xff1a; 一、關鍵超參數及其影響 超參數作用典型范圍學習率 (Learning Rate)控制參數更新步長&#xff0c;影響收斂…

根目錄0xa0屬性對應的Ntfs!_SCB中的FileObject是什么時候被建立的----NTFS源代碼分析--重要

根目錄0xa0屬性對應的Ntfs!_SCB中的FileObject是什么時候被建立的 第一部分&#xff1a; 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…

(二)stm32使用4g模塊(移遠ec800k)連接mqtt

下面代碼是隨手寫的&#xff0c;沒有嚴謹測試僅供參考測試 uint8_t msgBuf[200]{"msg from mcu"}; uint8_t txBuf[250]{0}; uint16_t msgid0; uint16_t mqttTaskState0; uint16_t t100msCount0; uint8_t sendFlag10; uint8_t sendFlag20; void t100msTask1(void) { …

哈希表入門:用 C 語言實現簡單哈希表(開放尋址法解決沖突)

目錄 一、引言 二、代碼結構與核心概念解析 1. 數據結構定義 2. 初始化函數 initList 3. 哈希函數 hash 4. 插入函數 put&#xff08;核心邏輯&#xff09; 開放尋址法詳解&#xff1a; 三、主函數驗證與運行結果 1. 測試邏輯 2. 運行結果分析 四、完整代碼 五、優…

Windows下運行Redis并設置為開機自啟的服務

下載Redis-Windows 點擊redis-windows-7.4.0下載鏈接下載Redis 解壓之后得到如下文件 右鍵install_redis.cmd文件&#xff0c;選擇在記事本中編輯。 將這里改為redis.windows.conf后保存&#xff0c;退出記事本&#xff0c;右鍵后選擇以管理員身份運行。 在任務管理器中能夠…

2025年ESWA SCI1區TOP,改進成吉思汗鯊魚算法MGKSO+肝癌疾病預測,深度解析+性能實測

目錄 1.摘要2.成吉思汗鯊魚優化算法GKSO原理3.MGKSO4.結果展示5.參考文獻6.代碼獲取7.算法輔導應用定制讀者交流 1.摘要 本文針對肝癌&#xff08;HCC&#xff09;早期診斷難題&#xff0c;提出了一種基于改進成吉思汗鯊魚優化算法&#xff08;MGKSO&#xff09;的計算機輔助診…

李沐-動手學深度學習:RNN

1.RNN從零開始實現 import math import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2l#8.3.4節 #batch_size&#xff1a;每個小批量中子序列樣本的數目&#xff0c;num_steps&#xff1a;每個子序列中預定義的時間步數 #loa…