두 가상 머신의 두 NIC 간 트래픽 라우팅

두 가상 머신의 두 NIC 간 트래픽 라우팅

이 질문이 이전에 요청되었을 수도 있다는 것을 알고 있지만 원하는 방식으로 하려고 노력하고 있습니다. 좋습니다. 상황은 다음과 같습니다.

가상 머신 2대

가상 머신 A- CentOS(네트워크 어댑터 2개 포함):

외부 NIC - 호스트에 연결됨(간단하게 하기 위해 이를 호출함)"외부A". DHCP 활성화

내부 네트워크 카드 -"내부 A". 이 인터페이스에서만 수신하도록 구성된 고정 IP, DHCPD 서버

가상 머신 B-Debian(네트워크 어댑터가 하나만 있음)

내부 네트워크 카드 -"내부 B", 네트워크에서"내부 A", DHCP를 활성화하고 내부 A에서 IP를 성공적으로 수신합니다.

좋아, 이것이 내가 원하는 것이다. 내부 네트워크 카드에 대한 NAT 액세스를 원하지 않기 때문에 모든 외부 트래픽을 다음을 통해 라우팅할 수 있는 방법이 있습니까?외부 AVM 1의 네트워크 카드?

노트:

외부 A그리고내부완전히 다른 서브넷에 있습니다.

외부 A - 192.168.0.X

내부 A - 192.168.135.X

답변1

"내부 A"에 기본 게이트웨이가 있는지, "내부 B"에 동일한 기본 게이트웨이가 있는지 확인하세요.

가능하다면 nat 테이블에 대한 모든 iptables 규칙을 삭제하십시오.

iptables --flush -t nat

가상 머신 01

[root@centos01 ~]# route -n | grep enp0s3
0.0.0.0         192.168.0.1     0.0.0.0         UG    100    0        0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U     100    0        0 enp0s3

VM01 네트워크 구성:

enp0s3: conectado to enp0s3
        inet4 192.168.0.41/24
        route4 0.0.0.0/0
        route4 192.168.0.0/24

enp0s8: conectado to enp0s8
        inet4 192.168.135.254/24
        route4 192.168.135.0/24
        route4 192.168.0.1/32
        route4 0.0.0.0/0

가상 머신 02

[root@centos02 ~]# route -n | grep enp0s3
0.0.0.0         192.168.135.254 0.0.0.0         UG    100    0        0 enp0s3
192.168.135.0   0.0.0.0         255.255.255.0   U     100    0        0 enp0s3

VM02 네트워크 구성:

enp0s3: conectado to enp0s3
    inet4 192.168.135.50/24
    route4 0.0.0.0/0
    route4 192.168.135.0/24

VM01 전달 확인:

[root@centos01 ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

VM01 iptables, 규칙을 추가하는 대신 규칙을 삽입해 보겠습니다.

iptables -t nat -I PREROUTING --src 192.168.135.0/24 --dst 0/0 -j ACCEPT
iptables -t nat -I POSTROUTING -j MASQUERADE

VM01 iptables 확인:

[root@centos01 ~]#  iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  192.168.135.0/24     0.0.0.0/0

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0

효과가 있는지 알려주세요 :)

답변2

나는 이것이 효과가 있다고 생각합니다. VM A에서 실행

IP 전달 활성화(영구)

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf

192.168.135.x의 트래픽 허용

iptables -t nat -A PREROUTING --src 192.168.135.0/24 --dst 0/0 -j ACCEPT

NAT 트래픽

iptables -t nat -A POSTROUTING -j MASQUERADE

관련 정보