Ubuntu 服務器配置轉發網絡訪問

配置文檔:Ubuntu 服務器轉發網絡訪問

一、網絡拓撲

以以下網絡拓撲為示例

在這里插入圖片描述

  • Ubuntu 服務器(兩個網卡)
    • eth1 = 10.66.71.222 (接入內網)
    • eno1 = 192.168.2.100 (直連相機)
  • 相機ip
    • 192.168.2.1
  • Windows 客戶端ip
    • 10.66.71.205 (接入內網)
  • 目標
    Windows 能直接訪問相機 (ping 192.168.2.1)。

二、Ubuntu 配置步驟

1. 確認網卡

ip addr
ip route

確認:

  • eth1 → 10.66.71.222/24
  • eno1 → 192.168.2.100/24

2. 開啟 IPv4 轉發

# 臨時生效
sudo sysctl -w net.ipv4.ip_forward=1# 永久生效
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

驗證:

sysctl net.ipv4.ip_forward   # 輸出為 1 即可

3. 配置 iptables 轉發與 NAT

執行以下腳本:

#!/usr/bin/env bash
set -euxo pipefailWAN_IF=eth1          # 內網網卡
LAN_IF=eno1          # 相機網卡
WIN_NET=10.66.71.0/24
CAM_NET=192.168.2.0/24# 確保 IP 轉發
sudo sysctl -w net.ipv4.ip_forward=1# 允許內外轉發
sudo iptables -C FORWARD -i $WAN_IF -o $LAN_IF -s $WIN_NET -d $CAM_NET -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT 2>/dev/null \|| sudo iptables -A FORWARD -i $WAN_IF -o $LAN_IF -s $WIN_NET -d $CAM_NET -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPTsudo iptables -C FORWARD -i $LAN_IF -o $WAN_IF -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 2>/dev/null \|| sudo iptables -A FORWARD -i $LAN_IF -o $WAN_IF -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT# NAT 轉發
sudo iptables -t nat -C POSTROUTING -s $WIN_NET -d $CAM_NET -o $LAN_IF -j MASQUERADE 2>/dev/null \|| sudo iptables -t nat -A POSTROUTING -s $WIN_NET -d $CAM_NET -o $LAN_IF -j MASQUERADE

查看規則:

sudo iptables -S FORWARD

在這里插入圖片描述

sudo iptables -t nat -S

在這里插入圖片描述

4. 持久化規則

sudo apt-get update
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y iptables-persistent
sudo netfilter-persistent save

規則會保存到 /etc/iptables/rules.v4,重啟不會丟失。


三、Windows 配置

1. 刪除錯誤的直連路由(如果存在)

如果網卡上綁定了 192.168.2.x 地址,請移除:

#示例
netsh interface ip delete address "以太網" 192.168.2.205

2. 添加靜態路由

在管理員 CMD 執行:

route -p add 192.168.2.0 mask 255.255.255.0 10.66.71.222 metric 1

驗證:

route print 192.168.2.0

在這里插入圖片描述

四、測試流程

A. Ubuntu ? 相機

ping -c 3 192.168.2.1
arp -n | grep 192.168.2.1
sudo tcpdump -i eno1 -n icmp

B. Windows ? Ubuntu

ping 10.66.71.222
tracert 10.66.71.222

C. Windows ? 相機

tracert 192.168.2.1   # 第一跳應為 10.66.71.222
ping 192.168.2.1

在這里插入圖片描述

Ubuntu 抓包觀察:

sudo tcpdump -i eth1 -n icmp and host 192.168.2.1
sudo tcpdump -i eno1 -n icmp and host 192.168.2.1

五、常見問題排查

  1. Windows 綁定了 192.168.2.x → 必須刪除,否則路由沖突。

  2. UFW 防火墻阻止轉發 → 修改 /etc/default/ufw/etc/ufw/before.rules,允許 NAT + FORWARD。

  3. 接口名錯誤 → 用 ip addr 確認。

  4. 相機未響應 → 檢查相機是否禁 ICMP,可改用 curlffplay 測試 HTTP/RTSP。

  5. rp_filter 攔截 → 可寬松模式:

    sudo sysctl -w net.ipv4.conf.all.rp_filter=2
    sudo sysctl -w net.ipv4.conf.default.rp_filter=2
    

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

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

相關文章

為什么企業需要高防IP

1. 抵御日益猖獗的DDoS攻擊 現代DDoS攻擊規模已突破Tbps級別 傳統防火墻無法應對大規模流量攻擊 高防IP采用分布式清洗中心,可輕松抵御300Gbps以上的攻擊流量 2. 保障業務連續性 網絡中斷1小時可能造成數百萬損失 高防IP確保服務99.99%可用性 智能切換機制實…

CSS基礎 - 選擇器備忘錄 --筆記5

目錄基礎選擇器組合器偽類選擇器屬性選擇器選擇器可以選中頁面上的特定元素并為其指定樣式。 CSS有多種選擇器。 基礎選擇器 標簽選擇器 – tagname:匹配目標元素的標簽名。優先級是0,0,1。如:p、h1、div類選擇器 – .class:匹配class屬性中…

自動駕駛中的傳感器技術46——Radar(7)

衛星雷達(又稱為分布式雷達)主要講當前雷達的雷達信號處理計算以及雷達目標相關的一些感知算法都遷移到中央域控進行,雷達端基本只負責數據采集,這樣做的影響如下: 雷達端成本與功耗降低; 雷達端采樣得到的…

【論文閱讀】Diff-Privacy: Diffusion-based Face Privacy Protection

基于擴散模型的人臉隱私保護方法——DiffPrivacy,解決了兩類人臉隱私任務:匿名化(anonymization)和視覺身份信息隱藏(visual identity information hiding)。1. 研究背景隨著人工智能和大數據技術的普及&am…

React 原理篇 - 深入理解虛擬 DOM

一、什么是虛擬 DOM? 在前端開發中,“虛擬 DOM” 是一個高頻出現的術語,尤其在 React 生態中被廣泛討論。但很多開發者對它的理解往往停留在 “JS 對象” 這個表層認知上。 實際上,虛擬 DOM 是一種編程概念—— 在這個概念里&…

對匯編的初理解

此處是一個簡單的函數,里面將調用了一個函數add()函數這里是函數的原型這里是調用lcd函數產生的匯編語言,翻譯過來就是r11,r0cnt(r4cnt,前文有提及),然后調用add函數,此處BL是指會回到指令的下一…

《Python 自動化實戰:從零構建一個文件同步工具》

《Python 自動化實戰:從零構建一個文件同步工具》 一、開篇引入:為什么我們需要文件同步? 你是否有過這樣的困擾: 公司電腦和家里電腦上都有工作項目,每次更新都要手動復制? U 盤頻繁傳輸文件,不僅麻煩還容易出錯? 項目文件夾動輒幾 G,每次同步都耗時長、效率低? 在…

工業相機與鏡頭的靶面尺寸詳解:選型避坑指南

在機器視覺系統中,相機與鏡頭的靶面尺寸匹配是一個非常關鍵卻又經常被忽略的細節。選錯了,不但影響圖像質量,還可能導致畫面“黑角”、視野不符、鏡頭浪費等問題。 今天我們就用通俗易懂的方式,聊一聊相機與鏡頭靶面尺寸的那些事兒…

使用 Go 和 go-commons 實現內存指標采集并對接 Prometheus

文章目錄一、準備工作二、編寫內存采集代碼三、運行 Exporter四、接入 Prometheus五、可擴展思路總結在運維和監控領域,資源指標采集 是必不可少的一環。CPU、內存、磁盤、網絡這些系統資源,需要實時采集并上報到監控系統中。 本文以 內存指標采集 為例&…

webrtc弱網-IntervalBudget類源碼分析與算法原理

一、核心功能 IntervalBudget 類用于基于時間窗口的帶寬預算管理。它根據設定的目標比特率(kbps)和一個固定時間窗口(500ms),計算在該時間窗口內可用的字節數(即“預算”),并支持預…

深度學習基本模塊:RNN 循環神經網絡

循環神經網絡(RNN)是一種專門用于處理序列數據的神經網絡架構。與處理空間數據的卷積神經網絡(Conv2D)不同,RNN通過引入循環連接使網絡具有"記憶"能力,能夠利用之前的信息來影響當前的輸出&#…

React18學習筆記(二) React的狀態管理工具--Redux,案例--移動端外賣平臺

文章目錄一.Redux的基礎用法1.示例:普通網頁中的Redux計步器2.Redux管理數據的流程3.配套工具和環境準備3.1.配套工具3.2.環境準備4.示例:React項目中的Redux計步器思路步驟step1:創建子模塊step2:導入子模塊step3:注入store實例step4:React組件內使用store中的數據step5:在組件…

34.Socket編程(UDP)(上)

點分十進制字符串IP 轉 32位網絡序列IP 分析:1)IP轉成4字節 2)4字節轉成網絡序列 思路: "192.168.1.1" 進行字符串劃分,以 "." 為分割符,分割出"192",&qu…

Redis的持久化工具包—RDB AOF

文章目錄 前言 一、RDB 持久化(快照持久化) 1. 定義 2. RDB 觸發機制 (1)手動觸發 (2)自動觸發 3. RDB 持久化流程 4. RDB 核心配置 5. RDB 優缺點 二、AOF 持久化(日志持久化) 1. 定…

【Web安全】XXL-JOB框架SRC高頻漏洞分析總結

文章目錄前言一、核心漏洞分類與技術細節二、漏洞關聯利用與攻擊路徑三、版本演進與修復策略四、安全運維建議五、典型漏洞復現環境搭建六、總結前言 XXL-JOB是國內主流的開源分布式任務調度框架,由徐雪里開發維護,以輕量易用、高可用、適配分布式場景等…

Capacitor 打包后接口訪問不到的排查經歷

我最近在用 Quasar Capacitor 6 做一個 Android App,前端用的是 Vue3 Quasar,打包交給 Capacitor 去跑在手機的 WebView 里,后端是 FastAPI 提供接口。開發模式下一切順利,瀏覽器里訪問接口沒有任何問題,我甚至覺得打…

【正點原子】Linux應用編程入門~概念及環境介紹

應用編程概念 應用編程(也可稱為系統編程)與驅動編程、裸機編程有何不同?系統調用;何為庫函數;應用程序的 main()函數;應用程序開發環境的介紹;系統調用 定義系統調用(system call&a…

一、HTML 完全指南:從零開始構建網頁

文章目錄前言一、 HTML 結構認識 HTML 標簽HTML 文件基本結構標簽層次結構快速生成代碼框架二、 HTML 常見標簽詳解2.1 注釋標簽2.2 標題標簽 (h1 - h6)2.3 段落標簽 (p)2.4 換行標簽 (br)2.5 格式化標簽2.6 圖片標簽 (img)2.7 超鏈接標簽 (a)2.8 表格標簽基本使用合并單元格2.…

基于POI-TL實現動態Word模板的數據填充:【散點圖】特殊處理方案

基于POI-TL實現動態Word模板的數據填充:散點圖特殊處理方案 在使用POI-TL進行Word模板動態數據填充時,圖表生成是一個常見需求。最近在項目中使用POI-TL處理散點圖時遇到了一個特殊問題,經過研究后找到了解決方案,特此記錄分享。 問題背景 POI-TL作為一款優秀的Java Wor…

使用node-Express框架寫一個學校宿舍管理系統練習項目-前后端分離

今天繼續分享一個新的練習項目,是使用node做為后端語言,來寫的一個前后端分離項目:學校宿舍管理系統。我們如果想掌握一門編程語言,就是需要大量的練習。所以當我們學習到了一些知識,自己想一下 可以拿學到的知識&…