日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux ARP代理 与 NAT

發(fā)布時(shí)間:2024/4/17 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux ARP代理 与 NAT 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有時(shí)候我們會(huì)在一個(gè)已有網(wǎng)絡(luò)(10.10.10.0/24)內(nèi)組建一個(gè)實(shí)驗(yàn)網(wǎng)絡(luò)(192.168.1.0/24),網(wǎng)絡(luò)結(jié)構(gòu)如上圖所示。

假設(shè)我們不能控制(修改)A網(wǎng)絡(luò)內(nèi)除D主機(jī)以外的系統(tǒng)配置,但可以完全控制網(wǎng)絡(luò)B內(nèi)的主機(jī)。

此時(shí)Server D實(shí)際上要承擔(dān)一個(gè)路由的角色(它有兩張網(wǎng)卡分別在兩個(gè)網(wǎng)絡(luò)A,B內(nèi))

所以先打開其上的內(nèi)核路由轉(zhuǎn)發(fā)功能,修改/etc/sysctl.conf中的如下配置

net.ipv4.ip_forward = 1

保存后應(yīng)用查看

# sysctl -p net.ipv4.ip_forward = 1

另外需要保證Server D上的路由表配置正確,這里我們假設(shè)D上10.10.10.103所在的接口為eth0, 而192.168.1.1所在的接口為eth1

最后將網(wǎng)絡(luò)B內(nèi)的主機(jī)的默認(rèn)網(wǎng)關(guān)都設(shè)置為Server D的192.168.1.1地址,到此準(zhǔn)備工作已經(jīng)完成。下面可以采用不同的方法來(lái)使得網(wǎng)絡(luò)B和網(wǎng)絡(luò)A中的主機(jī)實(shí)現(xiàn)不同程度的互聯(lián)。

SNAT

如果想讓B網(wǎng)絡(luò)內(nèi)的所有主機(jī)單向訪問A網(wǎng)絡(luò)內(nèi)的資源可以在Server D上做一個(gè)NAT(SNAT):

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

這種方法就是最常用的NAT,內(nèi)部網(wǎng)絡(luò)B中的主機(jī)可以主動(dòng)發(fā)起請(qǐng)求訪問的外網(wǎng)A中的資源,實(shí)現(xiàn)內(nèi)外網(wǎng)主機(jī)通信,但是外網(wǎng)A內(nèi)的主機(jī)無(wú)法主動(dòng)與內(nèi)網(wǎng)主機(jī)建立連接。內(nèi)網(wǎng)B中的主機(jī)沒有A網(wǎng)內(nèi)的獨(dú)立IP。

如果只想讓某臺(tái)B網(wǎng)中的主機(jī)訪問A網(wǎng),則可以限定來(lái)源IP,具體可以參考iptables手冊(cè):

iptables -t nat -A POSTROUTING -s 192.168.100.100 -o eth0 -j MASQUERADE

SNAT + DNAT + ARP代理 = 浮動(dòng)IP

如果我們想為網(wǎng)絡(luò)B內(nèi)的Server E分配一個(gè)IP如10.10.10.104,使得網(wǎng)絡(luò)A內(nèi)的主機(jī)可以直接訪問主機(jī)E

此時(shí)我們可以在Server D上先做一個(gè)SNAT:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.100 -j SNAT --to-source 10.10.10.104

這樣網(wǎng)絡(luò)A網(wǎng)絡(luò)收到Server E發(fā)出的包時(shí),看到的IP就是10.10.10.104,其響應(yīng)也會(huì)回發(fā)給這個(gè)地址

然后我們?cè)赟erver D上做一個(gè)DNAT:

iptables -t nat -A PREROUTING -i eth0 -d 10.10.10.104 -j DNAT --to-destination 192.168.1.100

這樣Server D收到目的IP為10.10.10.104的包時(shí)就會(huì)修改目的IP為網(wǎng)絡(luò)B內(nèi)的Server E的IP(192.168.1.100),自然的按照Server D上的路由規(guī)則這個(gè)包會(huì)從接口eth1出去,經(jīng)過(guò)交換機(jī)B,到達(dá)Server E。

現(xiàn)在還存在一個(gè)問題,我們不能修改網(wǎng)絡(luò)A內(nèi)的主機(jī)配置,怎么做才能讓IP為10.10.10.104的包發(fā)到Server D來(lái)(因?yàn)橹鳈C(jī)D自己的IP是10.10.10.103)。如果我們自Server D上再插入一張網(wǎng)卡,讓后將其地址設(shè)為10.10.10.104就可以,不過(guò)我們沒有必要這么做。我們?cè)谥鳈C(jī)D的eth0接口上加入一個(gè)次級(jí)地址即可

ip addr add 10.10.10.104/24 dev eth0

這樣網(wǎng)絡(luò)A內(nèi)的主機(jī)在使用ARP協(xié)議查詢10.10.10.104所對(duì)應(yīng)的MAC地址時(shí),Server D就能做出響應(yīng),發(fā)送一個(gè)虛擬的MAC地址,于是發(fā)往10.10.10.104的包就會(huì)到達(dá)主機(jī)D,在進(jìn)行上述的DNAT步驟,兩邊就可以互通了。

服務(wù)端口映射?SNAT + DNAT

浮動(dòng)IP的方案需要占用一個(gè)網(wǎng)絡(luò)A的IP,且會(huì)完全暴露主機(jī)E,有時(shí)可以通過(guò)端口映射向外部網(wǎng)絡(luò)A暴露網(wǎng)絡(luò)B內(nèi)的服務(wù),如將Server D上的2222端口與Server E上的22端口建立映射,這樣網(wǎng)絡(luò)A內(nèi)的主機(jī)訪問10.10.10.103:2222實(shí)際就是訪問網(wǎng)絡(luò)B內(nèi)的主機(jī)192.168.100:22。

?

轉(zhuǎn)載于:https://www.cnblogs.com/lailailai/p/3886544.html

總結(jié)

以上是生活随笔為你收集整理的Linux ARP代理 与 NAT的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。