아래와 같이 두 개의 IP가 있는 인터페이스가 있습니다(일부 방화벽 트래픽 관리에 필요함). 애플리케이션이 시작 시 그 중 하나에 바인딩될 수 있는 것 같습니다(IP를 지정하지 않은 경우). 이는 내 이중 IP 주소의 목적을 방해할 수 있습니다. (RedHat 문서에서는 더 이상 각 IP에 대해 별도의 인터페이스를 생성하지 말 것을 권장합니다.)
수정된 명령줄을 사용하여 각 실행 파일을 시작하고 싶지 않고, 응용 프로그램이 다른 IP보다 하나의 IP를 선호하도록 각 IP에 가중치 등을 할당할 수 있기를 원합니다.
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:b6:49:04 brd ff:ff:ff:ff:ff:ff
altname enp11s0
inet 172.31.254.31/24 brd 172.31.254.255 scope global noprefixroute ens192
valid_lft forever preferred_lft forever
inet 172.31.254.32/24 brd 172.31.254.255 scope global secondary noprefixroute ens192
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feb6:4904/64 scope link
valid_lft forever preferred_lft forever
답변1
애플리케이션이 다른 IP보다 특정 IP를 선호하도록 각 IP에 가중치 등을 할당할 수 있었으면 좋겠습니다.
경로에 RTA_PREFSRC 속성을 설정하면 프로그램이 명시적으로 바인딩하지 않을 때 기본 소스 IP 주소에 대한 힌트 역할을 합니다.
- IP 경로 2:
172.31.254.1을 통해 IP 경로에 대한 기본값을 추가합니다.소스 코드 172.31.254.31
- 시스템 네트워크:
[라우팅]
게이트웨이=172.31.254.1
기본 소스=172.31.254.31
"기본 수명"을 0으로 설정하여 주소를 "사용되지 않음"으로 표시할 수도 있습니다. 이는 원래 IPv6 관련 속성이지만(이 트릭은 여러 IPv6 주소가 있는 호스트에 널리 사용됨) 사용할 수도 있습니다. IPv4로. (더 이상 사용되지 않는 주소는 계속 사용할 수 있지만 더 이상 사용되지 않는 주소가 사용 가능한 한 기본적으로 선택되지 않습니다.)
- IP 경로 2:
IP 주소 172.31.254.32/24 dev eth0 추가Preferred_lft 0
- 시스템 네트워크:
[주소]
주소=172.31.254.32/24
선호 수명=0
RedHat 문서에서는 더 이상 각 IP에 대해 별도의 인터페이스를 생성하지 말 것을 권장합니다.
이러한 개별 eth0:0
인터페이스는 Linux 2.2.x 시대의 유물입니다. 현재 커널에서는 더 이상 존재하지 않지만 단순히 IP 주소의 "label" 속성을 통해 에뮬레이트됩니다. ifconfig와 같은 오래된 도구만 이러한 인터페이스를 "볼" 수 있지만 다른 모든 도구는 여전히 두 개의 IP 주소가 있는 eth0만 볼 수 있습니다.