서로 다른 서브넷의 이중 네트워크 카드

서로 다른 서브넷의 이중 네트워크 카드

내 CentOS 7 시스템에는 두 개의 네트워크 카드가 있습니다: eth0eth1.

NIC가 다른 서브넷에 있습니다. 각 서브넷에는 서로 다른 DHCP가 있으므로 각 NIC는 서로 다른 IP 주소와 서로 다른 게이트웨이 설정을 갖습니다.

내 질문은 다음과 같습니다

명령을 사용하여 두 NIC를 모두 활성화하면  nmtui각 네트워크는 한 번에 하나의 NIC에만 액세스할 수 있습니다.

예를 들어:

192.168.0.1ping 192.168.0.2( eth0CentOS의 첫 번째 네트워크 카드)은 할 수
있지만 ( CentOS의 두 번째 네트워크 카드)은 ping할 수 없습니다
.192.168.10.1192.168.10.2eth1

비활성화하면 ( CentOS의 두 번째 네트워크 카드) 로 eth0ping할 수 있습니다 .192.168.10.1192.168.10.2eth1

라우팅 문제인가요? 아니면 다른 사항이 누락된 것인가요?

답변1

이는 라우팅 문제이자 rp_filter 문제(결합)일 수 있습니다.

표준 라우팅은 꽤 바보입니다. 어떤 인터페이스를 통해 연결이 열리는지는 상관하지 않지만 일반적으로 각 IP 주소에 대해 하나의 다음 홉(일반적으로 기본 게이트웨이)을 정의합니다.

다음 설정을 확인하십시오. sysctl -a | grep -F .rp_filter해당 인터페이스의 값이 0보다 크면 패킷이 방화벽에 도달하기도 전에 삭제됩니다.

0으로 설정하면 시스템이 올바르게 응답할 수 있으나, 시스템과 대상 사이의 방화벽으로 인해 잘못된 방향에서 오기 때문에 응답이 누락될 수 있습니다.

좋은 해결책은 각 인터페이스에 대해 개별적으로 들어오는 연결에 태그를 지정하고( iptables모듈 mark및 사용 connmark) 이러한 태그와 함께 정책 라우팅()을 사용하는 것 입니다 ip rule.

관련 정보