특정 IP 주소 또는 네트워크 인터페이스를 사용하도록 APT 구성

특정 IP 주소 또는 네트워크 인터페이스를 사용하도록 APT 구성

서버에 두 개의 IP 주소가 있고 둘 다 동일한 인터페이스에 할당된 상황이 발생했습니다. APT에게 특정 IP를 사용하여 패키지를 다운로드하고 캐시를 업데이트하도록 지시하는 방법은 무엇입니까?

기본적으로 저는 APT에 대해서만 --interface이와 같은 것을 찾고 있습니다 .curl(1)

     --interface <name>

          Perform an  operation using a specified  interface. You
          can enter interface  name, IP address or  host name...

조사한 결과 apt.conf(5)거기 apt-transport-http(1)에는 옵션이 없다는 것을 발견했습니다.

나는 두 가지 해결책을 생각했습니다.

  1. 다양한 인터페이스/IP를 인식하는 프록시를 설정하고 Acquire::http::ProxyAPT에 해당 프록시를 통과하도록 지시합니다.

  2. 아직 문서를 자세히 살펴보지는 않았지만 이를 달성하기 위해 네트워크 네임스페이스를 설정할 수도 있습니다.

APT는 특정 네트워크 인터페이스/IP 주소를 사용할 수 있습니까? 그렇지 않다면 더 나은 해결책은 무엇입니까?

구체적인 내용은 다음과 같습니다.

서버에는 두 개의 IP 주소가 할당되며 각각은 인터넷 NAT 뒤에 있습니다. (여기서 브리지는 구성 관리의 편의를 위한 것일 뿐 실제로는 enp1s0뒤쪽 에만 있습니다 br0.)

$ ip address show br0
9. br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.2/22 brd 192.168.3.255 scope global dynamic br0
       valid_lft 1055sec preferred_lft 1055sec
    inet 192.168.0.3/22 brd 192.168.3.255 scope global secondary br0
       valid_lft forever preferred_lft forever
    inet6 fe80::5867:78ff:fef8:7146/64 scope link 
       valid_lft forever preferred_lft forever

이 두 IP는 서로 다른 공용 IP 뒤에 NAT됩니다. 그 중 하나( 192.168.0.3)는 인터넷 대역폭이 더 높으며 APT 패키지를 다운로드하는 데 적합합니다. 하지만 그 외 거의 모든 네트워크 연결은 다른 IP를 거쳐야 하므로 192.168.0.2기본 경로로 설정됩니다.

원하는 효과는 APT를 사용하여 192.168.0.3패키지를 다운로드하고 캐시하는 것입니다.

답변1

업데이트 서버로 라우팅할 수 있는 인터페이스가 여러 개 있는 경우 지정된 IP 주소 집합(업데이트 서버)으로 라우팅하도록 선택해야 합니다.정책 라우팅.

다음은 필요한 것과 유사하다고 생각되는 내용을 논의하는 블로그 게시물입니다.https://osric.com/chris/accidental-developer/2019/03/linux-policy-based-routing/

관련 정보