실제로 두 가지 응용 프로그램 시나리오가 있습니다.
다중 시트 데스크탑: 인터넷 게이트웨이를 통한 2개의 네트워크 연결, 대역폭 집약적인 작업을 수행하기 위한 각각 2개의 계정. 한 계정은 eth0만 사용하고 두 번째 계정은 eth1만 사용하도록 분리하고 싶습니다.
서버: 서버에 두 개의 IP가 있고 메일 사용자가 두 번째 IP(eth0:1 별칭)에서만 이메일을 보내도록 하고 싶습니다.
두 번째는 해당 인터페이스를 통해 이메일 트래픽을 라우팅하는 IPTabled(방법은 모르겠습니다)일 수 있지만 첫 번째는 모든 종류의 트래픽을 처리하므로 사용자 기반이어야 합니다. 사용자 기반 솔루션이 있는 경우 두 위치 모두에 적용할 수 있습니다.
답변1
물리적 시스템에 두 개의 가상 시스템을 설정하고 한 가상 시스템이 eth0을 사용하고 다른 가상 시스템이 eth1을 사용하도록 네트워크 인터페이스 브리징을 설정할 수 있습니다. 보다브리지된 네트워크에 대한 Virtual Box 문서 섹션.
답변2
iptables를 사용하고 싶을 것입니다소유자모듈, 그리고 아마도 영리한 패킷 수정이 있을 수도 있습니다.
소유자 이 모듈은 로컬에서 생성된 패킷을 패킷 생성자의 다양한 특성과 일치시키려고 시도합니다. 이는 OUTPUT 체인 내에서만 작동하며, 심지어 일부 패킷(예: ICMP ping 응답)에는 소유자가 없으므로 일치하지 않을 수 있습니다.
--uid-owner userid 주어진 유효한(숫자) 사용자 ID를 가진 프로세스에 의해 패킷이 생성되었는지 여부를 일치시킵니다.
--gid-owner groupid 주어진 유효한(숫자) 그룹 ID를 가진 프로세스에 의해 패킷이 생성되었는지 여부와 일치합니다.
--pid-owner processid 주어진 프로세스 ID를 가진 프로세스에 의해 패킷이 생성되었는지 여부를 일치시킵니다.
--sid-owner sessionid 해당 세션 그룹의 프로세스에 의해 패킷이 생성된 경우 일치합니다.
답변3
첫 번째 요점은 이것이 가능한지 확실하지 않습니다. 사용자의 사용자 ID를 기반으로 일부 라우팅을 수행하려고 합니다. 마지막으로 확인했을 때 그런 가능성은 보지 못했습니다.
두 번째 점에서는 iptables가 아닌 iproute2(http://lartc.org/howto/ 및http://www.policyrouting.org/iproute2.doc.html완전한 문서화를 위해). 더 이상 사용되지 않는 것으로 간주되는 ifconfig/route 명령을 대체합니다. iproute2를 사용하면 패킷의 출처를 기준으로 패킷을 라우팅할 수 있습니다. 그게 네가 원하는 거야