0

나는 다음과 같은 설정이 있습니다OpenStack은 중성자 - VM과 동일한 테넌트에서 두 네트워크 사이의 라우터

VM1 --- NET1 --- VM2 --- NET2 --- VM3

VM2 수를 VM1과 VM3 모두에 대해 ping을 수행합니다. 그러나 VM1에서 VM3으로 핑할 때 패킷은 VM2에 의해 전달되지만 결코 VM3에 도달하지 않습니다 (즉, tcpdump는 패킷이 VM2의 NET2 인터페이스에서 발송됨을 보여주기 때문에 NET2에 의해 삭제됩니다).

VM3에서 VM1으로 핑할 때와 동일합니다. 패킷이 VM2에 도달하면 VM2는 VM2를 V1로 전달하지만 절대로 VM1에 도달하지 않습니다.

NET2가 NET1의 srcIP가있는 패킷을 통과하지 못하는 것처럼 보입니다. NET2의 srcIP로 패킷을 필터링하는 NET1과 동일합니다.

우리는 열 템플릿에 각 네트워크를 만드는 방법입니다.

net1: 
    type: OS::Neutron::Net 
    properties: 
     name: net1_name 

net1_subnet: 
    type: OS::Neutron::Subnet 
    properties: 
    network_id: { get_resource: net1 } 
    cidr: { get_param: net1_cidr } 

라우터 역할을하는 VM2를 통해 NET1에서 NET2로 패킷을 흐르게하는 방법이 있습니까?

감사합니다.

========== 업데이트 ====

나는 해결책을 발견처럼 보이는 : 포트의 "allowed_address_pairs"에 VM1 및 VM3의 IP를 추가 (중성자 포트) VM2의

VM2_left_port: 
    type: OS::Neutron::Port 
    properties: 
     allowed_address_pairs: [{"ip_address": { get_param: VM3_IP}}] 
     network: ... 
     fixed_ips: ... 

VM2_right_port: 
    type: OS::Neutron::Port 
    properties: 
     allowed_address_pairs: [{"ip_address": { get_param: VM1_IP }}] 
     network: ... 
     fixed_ips: ... 

네트워크 간의 라우팅 (라우터로 VM2 사용)이 올바른지 여부는 질문입니다.

답변

0

ACCEPT ACCEPT -j 설립 그는 실제로 한 서브넷에서 다른 서브넷으로 트래픽을 차단하는 Openstack의 "port_security"기능이었습니다. 서브넷간에 패킷이 흐르도록하기 위해 질문에서 제안한 방식 ("allowed_address_pairs") 대신 다음 옵션을 사용할 수 있습니다.

VM2_left_port: 
    type: OS::Neutron::Port 
    properties: 
     security_groups: [] 
     port_security_enabled: False 
     network: ... 
     fixed_ips: ... 

VM2_right_port: 
    type: OS::Neutron::Port 
    properties: 
     security_groups: [] 
     port_security_enabled: False 
     network: ... 
     fixed_ips: ... 
0

VM2의 두 네트워크 인터페이스간에 상호 통신을 허용한다고 생각합니다.

에코 1>/proc 디렉토리/sys 인/그물 /의 IPv4/IP_FORWARD

sudo는의 iptables -t NAT -A POSTROUTING -o eth0를 -j

sudo는의 iptables -A FORWARD -i eth0를 가장 무도회 - O의 eth1 -m 상태 --state RELATED는 t가

는 sudo의 iptables -A FORWARD -i eth1에 -o eth0를 -j 그래서

+0

주석 주셔서 감사합니다,하지만 내 문제는 구성을 라우팅하지 않고 서브넷 사이의 기본 트래픽에 의한 OpenStack은 블록 ... 나는 대답으로 게시 할 예정입니다, 해결책을 발견했다. – Michael