VLAN의 호스트에서만 ping이 가능한 인터페이스의 VLAN 트렁킹

VLAN의 호스트에서만 ping이 가능한 인터페이스의 VLAN 트렁킹

각 VLAN에 대해 Ubuntu 14.04 서버에 하위 인터페이스를 설정하려고 합니다. vconfig를 사용하여 성공적으로 설정했다고 생각하지만 하위 인터페이스는 자체 VLAN의 호스트에서만 ping이 가능합니다. 연결하려면 VLAN 외부의 호스트가 필요합니다. 이것은 내 CentOS 서버에서 제대로 작동하는 것 같아서 내 네트워킹이 올바른지 알 수 있습니다. 또한 tcpdumpVLAN 외부의 클라이언트에서 하위 인터페이스를 수행하고 핑할 때 하위 인터페이스에 ICMP 요청 패킷이 표시됩니다 .

어떤 아이디어가 있나요? 그 밖에 어떤 문제 해결 팁을 주실 수 있나요?

편집: 이 문제를 해결했습니다. 서버의 내 tcpdump에 icmp 에코 요청이 표시되었지만 응답이 없습니다. 관련 포스팅을 찾았어요여기. 다음과 같이 화성 소스 로깅을 활성화합니다.

echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

그런 다음

sysctl net.ipv4.conf.all.rp_filter=2

고쳤다. 나는 이것이 더 자주 나오지 않는다는 것에 놀랐습니다.

답변1

나는 이 문제를 해결했습니다. 서버의 tcpdump에 icmp 에코 요청이 표시되었지만 응답이 없습니다. 관련 포스팅을 찾았어요여기. 다음과 같이 화성 소스 로깅을 활성화합니다.

echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians

그런 다음

sysctl net.ipv4.conf.all.rp_filter=2

고쳤다. 나는 이것이 더 자주 나오지 않는다는 것에 놀랐습니다.

답변2

클라이언트가 서버의 IP 주소를 핑하려면 다음 중 하나가 충족되어야 합니다.

  • 클라이언트는 동일한 [V]LAN에 있어야 합니다.그리고ping하려는 주소와 동일한 IP 서브넷의 IP 주소를 사용하고 있어야 합니다.

또는

  • 클라이언트의 [V]LAN 및 IP 서브넷을 서버의 [V]LAN 및 IP 서브넷에 연결하는 IP 라우터(또는 라우터 네트워크)가 있어야 합니다.

두 VLAN 사이에(또는 동일한 VLAN에 있는 두 IP 서브넷 사이에) 라우터를 설정하지 않은 경우 핑이 통과할 IP 네트워크 경로를 제공하지 않은 것입니다.

적어도 일부 구성의 일부 OS는 특정 IP 패킷이 어떤 인터페이스에 들어왔는지 주의를 기울이지 않습니다. 따라서 이러한 경우에는 "잘못된" 인터페이스에서 들어온 ping 요청에 응답할 수 있습니다. CentOS 환경이 이렇게 느슨했을 수도 있지만 Ubuntu 상자는 어떤 인터페이스가 어떤 것인지에 대해 더 주의를 기울이고 있습니다. 또는 CentOS 상자에서는 IP 전달(가장 간단한 IP 라우터 버전)을 활성화했지만 Ubuntu 상자에서는 활성화하지 않았을 수도 있습니다.

답변3

연결하려는 특정 원격 네트워크에 대한 경로가 필요한 것 같습니다.

테스트하려면 다음과 같이 라우팅 테이블에 경로를 삽입하세요.

sudo route add -net 172.16.0.0/12 gw 192.168.1.113 dev eth.<vlan number>

이러한 경로를 영구적으로 만들려면 /etc/network/interfaces에 다음과 같이 항목을 입력해야 합니다.

up route add [-net|-host] <host/net>/<mask> gw <host/IP> dev <Interface>

관련 정보