centos7使用iptables-nat功能來轉換數據--實施監控負載鏈路

場景說明
監控主機10.1.2.9
中轉主機10.1.2.11
被監控(ping)的主機10.4.2.10

##實現一個監控主機同時監控兩條負載鏈路。平面圖如下

實現說明

1、 在監控主機10.1.2.9上寫route
route add -host 10.4.2.10 gw 10.1.2.11 #這里設置后只是本地生效
永久生效方面如下:
在/etc/sysconfig/network里添加到末尾
route add -host 10.4.2.10 gw 10.1.2.11
route add -host 10.2.2.10 gw 10.1.2.11
route add -host 192.168.32.10 gw 10.1.2.11
#重啟centos7
2、 中轉主機做iptables
a) 修改/etc/sysctl.conf 添加net.ipv4.ip_forward = 1 #啟用ip_forward,再执行sysctl -p马上生效
以下是兩條一對,往返兩條規則。
iptables -t nat -A POSTROUTING -s 10.1.2.9/32 -d 10.4.2.10/32 -o ens160 -j MASQUERADE #ens160指的是網上名稱,可以使用ip addr /ifconfig查
iptables -t nat -A POSTROUTING -s 10.4.2.10/32 -d 10.1.2.9/32 -o ens160 -j MASQUERADE

iptables -t nat -A POSTROUTING -s 10.1.2.9/32 -d 10.2.2.10/32 -o ens160 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.2.2.10/32 -d 10.1.2.9/32 -o ens160 -j MASQUERADE

iptables -t nat -A POSTROUTING -s 10.1.2.9/32 -d 192.168.32.10/32 -o ens160 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.32.10/32 -d 10.1.2.9/32 -o ens160 -j MASQUERADE

b) 永久保存:
Centos7使用firewalld管理iptables,所以需要如下操作:
關閉防火墻
systemctl stop firewalld
systemctl mask firewalld

安裝iptables-services
yum install iptables-services

设置开机启动防火墙 #正常情況是已自動啟動
systemctl enable iptables

可以使用下面命令管理iptables

systemctl [stop|start|restart] iptables

保存防火墙规则

service iptables save

c) 查看iptables表情況:iptables -t nat -vnL POSTROUTING --line-number
3、 中轉主機安裝抓包工具
并啟用抓包(監控主機ping 10.4.2.10)# 啟用 tcpdump -nn -i ens160 icmp

監控主機traceroute 10.4.2.10情況

以上說明已經配置了監控主機的路由及中轉主機的nat
4、 測試,兩地三層交換機寫路由之后,進行測試
監控主機ping的情況

中轉主機traceroute情況


出現以上情況,說明在三層交換機中切換路由,便可以引致中轉主機的路由方向
5、 現在可以使用監控主機10.1.2.9通過10.1.2.11去監控10.4.2.10設備了。目的是在于可以同時監控負載鏈路的兩條路線健康情況。
?

交換機配置說明
6、 三層交換寫路由部份不在這里體現,具體思路就是寫一條24位掩碼的網段從一條鏈路走,再寫一條32位掩碼的主機路由從另外一條鏈路走,這樣主機會被精准匹配到,優先走32掩碼的主機路由。

參考文檔
7、 學習參考的資料如下:
Linux开启路由转发功能:https://blog.csdn.net/lemontree1945/article/details/80598242
Iptables功能詳細:http://blog.51yip.com/linux/1404.html
Tcpdump抓包工具用法说明: https://www.cnblogs.com/f-ck-need-u/p/7064286.html
https://blog.csdn.net/u011630575/article/details/48271711
#這個tcpdump在中轉機上安裝,並且開啟抓包,這樣,才能知道10.1.2.9主機ping10.4.2.10的包是否被正確route到10.1.2.11上
Route命令: https://www.cnblogs.com/snake-hand/p/3143041.html
解决service iptables save出错please try to use systemctl:https://blog.csdn.net/xu_melon/article/details/79043320

原文地址:http://blog.51cto.com/8623858/2313424

时间: 2024-10-06 23:50:31

centos7使用iptables-nat功能來轉換數據--實施監控負載鏈路的相关文章

PDO 拿出來的 Float 數據跟数据库中的数据不匹配

数据库中的价格字段是 float 类型的,在 Laravel 中取出会出现这样的情况 数据库:71.9 -> 程序打印:72.0 数据库:75.2 -> 程序打印:75.3 在另外一个测试环境是没有问题的,请问是 PDO 要设置什么? PDO 拿出來的 Float 數據跟数据库中的数据不匹配 >> mysql 这个答案描述的挺清楚的:http://www.goodpm.net/postreply/mysql/1010000007441481/PDO拿出來的Float數據跟数据库中的

超級人工智慧:大數據的未來?

在百度大數據開放大會上,搞計算機學術理論的懷進鵬校長的演講猶如給所有聽眾的一記悶棍,懷校長的學術演講把大家弄得雲里霧裡,把所有人弄暈了,現場能夠聽懂的絕對是少數,可能都會覺得懷校長有點像個外星人一般在那自顧自的演講.但我作為一個曾經有志從事人工智慧研究但失之交臂的又是學計算機畢業的人卻越聽越興奮,冥冥中似乎找到了未來的人工智慧所能抵達的可能性,那麼我現在就嘗試把懷教授的演講轉換為人類也能夠聽懂的語言吧.一,理解大數據1,當前大數據的四大特徵:規模大.變化快.種類雜.價值密度低.其實這理解起來很簡

數據庫ORACLE轉MYSQL存儲過程遇到的坑~(總結)

ORACLE數據庫轉MySQL數據庫遇到的坑 總結 最近在做Oracle轉mysql的工程,遇到的坑是真的多,尤其是存儲過程,以前都沒接觸過類似的知識,最近也差不多轉完了就總結一下.希望能幫到一些人(包括以後的自己)~ 1> 基本語法 變量聲明: oracle:   v_cnt varchar2(100) := ' ' ; mysql:   DECLARE v_cnt VARCHAR(100) DEFAULT  ' '; 存儲過程聲明: oracle:  procedure regNewReco

防火墙iptables实现Linux强大的NAT功能

1.概述1.1 什么是NAT在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC地址以外,路由器不会对转发的数据包做任何修改.NAT(Network Address Translation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址.目的ip地址.源端口.目的端口进行改写的操作.1.2 为什么要进行NAT我们来看看再什么情况下我们需要做NAT.假设

用EXCEL做快速傅立葉轉換_FFT in Excel

转载来自:http://yufan-fansbook.blogspot.tw/2013/09/excel-fft-fast-fourier-transform02.html [Excel]-用EXCEL做快速傅立葉轉換_FFT in Excel(Fast Fourier Transform in Excel)_02 [Excel]-用EXCEL做快速傅立葉轉換_FFT in Excel(Fast Fourier Transform in Excel)_02 第二步:建立想要做快速傅立葉分析的信號

【WIN10】移植opencc到WIN10-UWP,實現自己的繁簡轉換工具

花了週末兩天時間,將opencc移植成WIN10-UWP可用的庫,並完成自己的繁簡轉換工具. 我的繁簡轉換工具下載地址為:https://www.microsoft.com/store/apps/9nblggh68g62 移植後的代碼下載地址:http://yunpan.cn/cFiYYCxwTLdfX  访问密码 0533 因為今天(2015-11-1 20:18)才上傳,所以如果你在今天或接下來的兩到三天,是找不到這款軟件的,因為微軟商店在審核.. 來個GIF圖來瞅瞅: 台灣的“軟體”可以轉

Marlin 溫度感應器 數值轉換對應表

Marlin 溫度感應器 數值轉換對應表 (2014/03/27)Update: 自己實測了這個自動產生的對應表,結果測得的溫度與實際值仍有相當大的誤差.看來還是要回頭用測量的方式來校正溫度... 3D印表機內使用的溫度感應器,大多使用負溫度係數熱敏電阻(NTC).溫度越高,阻值越小. 電阻值隨溫度變化的公式如下: R(t) = R0 * Exp(B*((1/t) - (1/t0))) 其中R0是指溫度在t0時的電阻值.t0是標準參考溫度,一般規格書會以攝氏25度為參考溫度. 公式中溫度相關的參

【转自CSDN】深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換

深入 Microsoft.VisualBasic.Strings.StrConv 簡繁轉換 昨天又遇到一個簡繁轉換的需求, 雖然這個問題以前已經處理過了, 但是以前是用自己建立的 b52gb 和 gb2b5 的對應表來完成這個需求(VB6 的話就用 StrConv 方法來達成), 在 .NET 環境中, Microsoft.VisualBasic.dll 裡也有提供 Strings.StrConv 方法, 而且用法和原來的 VB6 幾乎是如出一轍, 可是昨天在使用 StrConv 的時候卻意外發

iptables NAT规则【转】

nat表需要的三个链: 1.PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;  2.POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则.  3.OUTPUT:定义对本地产生的数据包的目的NAT规则. 需要用到的几个动作选项:(真实环境中用大写)  redirect  将数据包重定向到另一台主机的某个端口,通常用实现透明代