내 AWS AMI Centos 서버에서 인터넷 게이트웨이가 있는 2개의 서브넷 eth0 10.0.0.1과 퍼블릭 IP를 통해 NAT 게이트웨이가 있는 eth1 10.10.0.1이 있는 VPC를 배포했습니다. 내 문제는 내 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
클라이언트가 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에서 발생한다는 것입니다. 경로를 추가하면 프로세스가 더 복잡해집니다. 모든 작업을 수행하는 하나의 명령이나 스크립트를 추가하여 자동화할 수 있는 기능이 필요합니다.
상자는 어떤 NIC 네트워크 트래픽이 나오는지 제어하지 않으며 NIC에 도착한 다음 상자에서 처리합니다. 따라서 트래픽이 도착한 NIC를 가리려는 시도는 정맥 작업입니다...
그러나 트래픽을 보낼 NIC를 상자에 알릴 수 있습니다(다른 NIC를 통해 설정된 TCP 연결로 트래픽을 보내지 않는 경우). 즉, 트래픽이 문제의 상자에서 시작된 경우...
이것을하기 위해;
/etc/sysconfig/network-scripts/route-eth0
default via 10.10.0.1 dev eth1
iptables는 nic 간 트래픽 이동용이 아니며 고정 IP에는 MASQUERADE가 아닌 DNAT/SNAT를 사용합니다.
불분명해 보이므로 질문을 재구성하거나 명확히 하십시오.