내 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 서브넷에 대한 연결을 열었기 때문에 클라이언트 IP에 대해 핑이나 텔넷을 실행할 수 없습니다. 하지만 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 간 트래픽 이동에 적합하지 않으며 고정 IP에 MASQUERADE 대신 DNAT/SNAT를 사용합니다.
불분명해 보이기 때문에 질문을 재구성하거나 명확히 하십시오...