동일한 인터페이스 + 넷플랜에서 응답

동일한 인터페이스 + 넷플랜에서 응답

ip route에서 로 전환할 때 "올바른" 인터페이스를 통해 응답 패킷을 보낼 수 없습니다 netplan.

설정:
서버 - 두 개의 인터페이스
eth1, VLAN 101, 10.0.1.2/24, 기본 경로, 10.0.1.1 게이트웨이
eth2, VLAN 102, 10.0.2.2/24

클라이언트
eth0VLAN 102, 10.0.2.3/24, 기본 경로, 10.0.2.1 게이트웨이

중간에 VLAN간 트래픽을 허용하는 라우터(pfsense)가 있습니다.

재현 단계
클라이언트에서 서버에 연결을 사용하면 10.0.2.2모든 것이 예상대로 작동합니다.
클라이언트에서 서버로 연결할 때 10.0.1.2연결이 30초 동안 열린 상태로 유지된 후 통신이 중지됩니다. 나는 해당 경로가 "더 나은" 일치이기 때문에 서버의 반환 패킷이 eth2인터페이스를 사용하여 전송된다고 생각합니다.

이 수세 기사를 찾았습니다.https://www.suse.com/support/kb/doc/?id=000016626내가 이렇게 하는 한 이것은 내 경우에는 효과가 있습니다 ip route. 예를 들어:

ip route add 10.0.1.0/16 dev eth1 src 10.0.1.2 table T101
ip route add default via 10.0.1.1 dev eth1 src 10.0.1.2 table T101
ip rule add from 10.0.1.2 table T101 prio 1

ip route add 10.0.2.0/16 dev eth2 src 10.0.2.2 table T102
ip route add default via 10.0.2.1 dev eth2 src 10.0.2.2 table T102
ip rule add from 10.0.2.2 table T102 prio 1

질문
하지만 netplan을 사용하면 비슷한 결과를 얻을 수 없습니다.

내 네트워크 계획 시도:

network:
  ethernets:
    eth0:
      dhcp4: false
      optional: true
  vlans:
    vlan101:
      id: 101
      link: eth0
      addresses: [10.0.1.2/24]
      routing-policy:
      - from: 10.0.1.2
        table: 101
        priority: 1
      routes:
      - to: default
        via: 10.0.1.1
        scope: link
        from: 10.0.1.2
        table: 101
      - to: default
        via: 10.0.1.1
    vlan102:
      id: 102
      link: eth0
      addresses: [10.0.2.2/24]
      macaddress: dc:a6:32:c7:09:15
      routing-policy:
      - from: 10.0.2.2
        table: 102
        priority: 1
      routes:
      - to: default
        via: 10.0.2.1
        scope: link
        from: 10.0.2.2
        table: 102
  version: 2

답변1

내 생각엔 내가 얻은 것 같아

network:
  ethernets:
    eth0:
      dhcp4: false
      optional: true
  vlans:
    vlan101: # primary vlan with the gatewau
      id: 101
      link: eth0
      addresses: [10.0.1.2/24] # maybe good idea to add dns server 'nameservers'
      routing-policy:
      - from: 10.0.1.2
        table: 101
        priority: 1
      routes:
      - to: 10.0.1.0/16
        from: 10.0.1.2
        table: 101
      - to: default
        via: 10.0.1.1
        scope: global
        from: 10.0.1.2
        table: 101
      - to: default
        via: 10.0.1.1
        from: 10.0.1.2
    vlan102: # you can have as many of those as you'd like
      id: 102
      link: eth0
      addresses: [10.0.2.2/24]
      macaddress: dc:a6:32:c7:09:15
      routing-policy:
      - from: 10.0.2.2
        table: 102
        priority: 1
      routes:
      - to: 10.0.2.0/16
        from: 10.0.2.2
        table: 102
      - to: default
        via: 10.0.2.1
        scope: global
        from: 10.0.2.2
        table: 102
  version: 2

관련 정보