在我的AWS AMI Centos 伺服器中,我已經部署了帶有2 個子網路eth0 10.0.0.1(有網路閘道)的VPC 和eth1 10.10.0.1(透過公共IP 的NAT 閘道),我的問題是我已將我的NAT 網關公共IP 提供給客戶端進行交互,或者我們可以使用該子網路推送資料。有幾個客戶端連接到同一台伺服器,我不想添加路由來定義 ip shd 推送資料的子網,我想更改預設值或說來自 eth1 子網路的所有傳出流量。 ..到目前為止,我已經嘗試過 iptables 並在網路腳本中更改網關,以獲取下面的完整詳細資訊。
/etc/sysctl.conf
net.ipv4.ip_forward =1
sysctl net.ipv4.ip_forward = 1
sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE
sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT
有了這個,我無法ping 或telnet 到客戶端ip,因為客戶端已打開其eth1 子網路的連接,但是當我將流量從eth0 轉發到eth1 時,它不會更改來源位址,而是採用客戶端網路未知的eth0 子網路ip。
甚至嘗試更改預設eth1
**/etc/sysconfig/network
GATEWAY=x.x.x.x
GATEWAYDEV=eth1**
這裡所有流量都會被阻止,甚至傳入流量也會改為 eth1。
我的要求是傳入流量來自 eth0 子網路 10.0.0.1,傳出流量來自 eth1 子網路 10.10.0.1。添加路線將使我的過程更加忙碌我想要一些東西自動添加一個命令或腳本來完成這一切..
答案1
這對我來說毫無意義……但是……
我的要求是傳入流量來自 eth0 子網路 10.0.0.1,傳出流量來自 eth1 子網路 10.10.0.1。添加路線將使我的過程更加忙碌我想要一些東西自動添加一個命令或腳本來完成這一切..
這個盒子不會控制網卡網路流量來自哪個網卡,它到達網卡然後盒子對其進行處理......因此任何試圖掩蓋流量來自哪個網卡的嘗試都是一項任務......
但是,您可以告訴盒子將流量傳送到哪個網路卡(前提是您沒有將流量傳送到透過另一個網路卡建立的 TCP 連線)...即,如果流量源自於有問題的盒子...
去做這個;
/etc/sysconfig/網路腳本/route-eth0
default via 10.10.0.1 dev eth1
iptables 不適用於在 nic 之間移動流量,並使用 DNAT / SNAT,而不是靜態 IP 的 MASQUERADE。
請重新建構或澄清您的問題,因為它似乎不清楚...