나는 인터넷에 연결되는 하나의 실제 인터페이스를 갖춘 Linux 시스템을 가지고 있습니다. eth0 192.168.1.108이라고 합시다.
[eth0]을 통해 트래픽을 라우팅하지만 일부 액세스 제어 목록에 따라 다른 IP 주소 [10.10.0.1]를 표시하는 가상 인터페이스를 만들어야 합니다.
액세스 제어를 위해 IP 주소가 10.10.0.1인 새 가상 장치를 생성해야 합니다.
더미 장치를 만들었습니다.
ip link add name acl0 type dummy
ip addr add 10.10.0.1
ip link set dev acl0 up
이는 인터페이스를 생성하지만 실제로 트래픽을 라우팅하지는 않습니다.
실제로 트래픽을 라우팅할 특정 IP 주소를 가진 가상 장치를 어떻게 생성할 수 있습니까?
답변1
질문을 편집하고 두 번째 IP가 필요한 이유와 액세스 목적으로 이를 어떻게 사용할 계획인지 자세히 알려주십시오.
안상호 작용"트래픽을 라우팅"하지 않습니다. 커널은 트래픽을 라우팅합니다.
더미 인터페이스의 유일한 장점은 기능이 없는 IP에 대한 자리 표시자로 사용되어 애플리케이션이 이에 바인딩될 수 있다는 것입니다. 많은 사람들이 그것이 어떻게든 뭔가를 할 것이라고 가정하는 실수를 저질렀지만 실제로는 그렇지 않습니다.
동일한 인터페이스에 여러 IP 주소를 할당할 수 있지만 그런 다음에는 모든 애플리케이션이묶다특정 주소로 이동하거나 무작위 효과를 디버깅하는 재미를 느낄 수 있습니다.
필요한 "액세스 제어"의 종류에 따라 다양한 애플리케이션에 대한 네트워킹을 분리하는 간단한 방법은네트워크 네임스페이스. "특수" 응용 프로그램을 네트워크 네임스페이스 안에 넣으면 네트워크에 관한 한 다른 컴퓨터에서 실행 중인 것처럼 작동하므로 다른 설정을 지정할 수 있습니다.
macvlan
다른 IP 주소와 동일한 인터페이스를 사용 하도록 하려면 ( eth0
또는 DHCP를 사용하여 IP를 제공) 새 네임스페이스와 기본 네트워크 네임스페이스 사이에 veth-pair를 만든 다음 일반 라우팅을 수행하십시오. .