이것은 내 현재 설정입니다.
- 기계 A싱글로IPA: 일반 데비안 서버, SSH, 웹 서버 등...
- 기계 B싱글로IPB: openvpn 서버 (데비안에도 있음)
내 목표는 동일한 물리적 시스템을 사용하여 동일한 작업을 수행하는 것입니다(기계 C지금은IPA그리고IPB동일한 물리적 인터페이스에서):
- 모든 것(ssh, 웹서버, ...)이 통과됩니다.IPA
- openvpn 외에도IPB.
내 요구 사항은 외부 사용자가 동일한 물리적 시스템에 대한 ipA 및 ipB 경로를 추론할 수 없어야 한다는 것입니다(우회 제외). 예를 들어, 머신 A의 현재 서비스 중 어느 것도 ipB를 수신해서는 안 됩니다.
또한 머신 B는 openvpn 전용이므로 하이퍼바이저 기반 솔루션은 피하고 싶습니다. 기존 운영 체제에서 openvpn 및 ipB를 "감옥"할 수 있는 방법이 있었으면 좋겠습니다.
이 경우 어떤 기술/패키지를 사용해야 합니까?
openvpn은 대기 시간에 민감하고 리소스가 많이 소모되므로 가벼운 기술이 선호됩니다.
답변1
iptables
가장 좋은 방법은 각 서비스 구성에서 이 작업을 수행하고 각 서비스가 IP 대신 특정 IP를 수신하도록 설정하는 것입니다. 그러나 대상이 있고 포트가 openvpn
포트 또는 포트 가 아닌 모든 IPB를 삭제 하도록 그렇게 할 수 있습니다. 대상 ipB 및 port 에 대한 패킷만 허용 openvpn
하지만 여기서는 ipA 포트를 사용할 수 없게 됩니다.
예를 들어:
iptables -t filter -A INPUT -p udp -d <ipB> --dport 1194 -j ACCEPT
iptables -t filter -A INPUT -p tcp -d <ipB> --dport 1194 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 1194 -j DROP
iptables -t filter -A INPUT -p tcp --dport 1194 -j DROP
1194
해당 포트에는 대상 IPB의 데이터 패킷만 연결이 허용됩니다 .