resolv.conf는 무엇이며 VPN 클라이언트가 이를 크랙하는 이유는 무엇입니까?

resolv.conf는 무엇이며 VPN 클라이언트가 이를 크랙하는 이유는 무엇입니까?

전에 언급했듯이질문2개의 VPN 서버에 동시에 연결하고 각 연결에 대해 액세스하려는 컴퓨터의 IP를 지정하고 싶습니다. VPN 연결 중 하나는 파일을 통해 수행되고 vpnc다른 하나는 Cisco 클라이언트를 통해 수행됩니다(적어도 연결에 필요한 IPSecret 요소가 없기 때문에 default.conf지금은 연결할 수 없습니다 ).vpnc

vpnc다음과 같이 생성된 인터페이스를 사용하도록 대상 IP를 구성하여 연결할 수 있습니다.

#!/bin/sh

#Get default gateway
DEFGW=`ip route list | grep default | awk -F' ' '{print $3 }'`
DEVICE=`ip route list | grep default | awk -F' ' '{print $5 }'`

echo "Default Gatway is: $DEFGW on device $DEVICE"

echo "Starting vpnc"
sudo vpnc

echo "Adding routes to known computers through VPN network interface"
sudo route add -net 132.181.11.0  netmask 255.255.255.0 dev tun0

echo "Adding all other routes through standard network interface"
sudo route del default
sudo route add default gw $DEFGW dev $DEVICE

이제 두 개의 연결을 동시에 실행하기 전에 Cisco 클라이언트에서도 동일한 작업을 수행하려고 시도했지만 이러한 문제가 발생했습니다 resolv.conf. VPN 클라이언트는 이 파일을 도메인 값과 DNS 서버 값으로 수정합니다. 다음 스크립트를 실행하면 DNS 확인 오류가 발생합니다(Chrome에서 보고됨).

#!/bin/sh

#Get default gateway
DEFGW=`ip route list | grep default | awk -F' ' '{print $3 }'`
DEVICE=`ip route list | grep default | awk -F' ' '{print $5 }'`

echo "Default Gatway is: $DEFGW on device $DEVICE"

echo "Starting cisco"
sudo /opt/cisco/vpn/bin/vpn connect 134.214.244.203

echo "Adding routes to computers through VPN network interface"
sudo route add -net 132.212.146.156  netmask 255.255.255.255 dev cscotun0

echo "Adding all other routes through standard network interface"
sudo route del default
sudo route add default gw $DEFGW dev $DEVICE

이에 대한 도움과 의견 및 문제 해결을 환영합니다.

감사해요

답변1

/etc/resolv.conf컴퓨터가 호스트 이름을 확인하는 방법(예: FQDN이 아닌 호스트 이름을 확인하려고 할 때 검색할 기본 도메인 이름(있는 경우)... 기본 조회는 www가 됨 www.yourdomain.example.com) 및 조회에 사용되는 이름 서버를 정의합니다. .

VPN 클라이언트가 /etc/resolv.conf를 수정할 수 있는 가장 가능성이 높은 이유 중 하나는 VPN 클라이언트 컴퓨터가 호스트 이름 확인을 위해 특정 이름 서버를 사용하도록 하는 것입니다(예: VPN 라우터가 캐싱 이름 서버를 실행하는 경우).

/etc/resolv.conf를 원하는 대로 다시 변경하는 것을 막을 수는 없으며 VPN 클라이언트 소프트웨어는 이를 수행하는 몇 가지 자동화된 방법도 제공할 수 있습니다(그렇지 않으면 resolv.conf의 백업 복사본을 다시 복사하면 됩니다). 일부 이름을 확인하는 데 어려움이 있을 수 있습니다(예: 일부 도메인에는 공개 및 비공개 보기가 설정되어 있습니다. 외부인은 "공개" 이름만 볼 수 있는 반면, VPN 클라이언트를 포함한 내부자는 모든 내부, 비공개 이름도 볼 수 있습니다).

이 문제를 해결하는 한 가지 방법은 원본 resolv.conf의 백업 복사본이 아니라 선호하는 이름 서버와 검색 도메인은 물론 VPN 클라이언트 소프트웨어에 필요한 사항이 포함된 수정된 복사본을 생성하는 것입니다.

답변2

/etc/resolv.conf상장됨네임서버컴퓨터가 찾기 위해 사용하는 것도메인 명 시스템이름. 컴퓨터로 패킷을 보내려면 패킷이 무엇인지 알아야 합니다.IP 주소, 그러나 IP 주소는 특정 인터넷 서비스 제공업체 및 위치와 (다소) 연관되어 있고 변경될 수 있으므로 일반적으로 컴퓨터를 지정하는 데 사용되지 않습니다. 대신 DNS 이름을 사용하십시오.

일반적으로 인터넷 액세스를 제공하는 사람(예: ISP)은 사용할 수 있는 이름 서버를 가지고 있습니다. 물론, 네임서버 자체는 IP 주소를 통해 접근 가능해야 합니다. 일반적으로 연결하면동적 호스트 구성 프로토콜또는구매력 평가을 사용하면 컴퓨터가 DNS 서버 주소를 수신하고 소프트웨어가 /etc/resolv.conf자동으로 업데이트되어 공급자의 DNS 서버 주소를 추가하고 연결을 끊을 때 이를 제거합니다.

간단한 경우에는 에 나열된 단일 DNS 서버만 필요합니다 /etc/resolv.conf. 해당 서버에 쿼리에 대한 응답이 없으면 필요에 따라 다른 서버에 요청합니다. 일반적으로 공급자를 통해 또는 대규모 조직 내에서 연결하면 기본 서버와 백업 서버(기본 서버가 오프라인이 되는 경우)라는 두 개의 주소가 표시됩니다.

Debian 기반 배포판의 경우 resolvconf이 패키지가 설치되어 있는지 확인하세요(현재 Ubuntu에 기본적으로 설치되어 있음). /etc/resolv.conf일반적으로 작업이 자동으로 완료되며, 그렇지 않은 경우 쉽게 조정할 수 있습니다.

두 개의 VPN을 통해 단일 네임서버를 사용할 수 있는 경우 /etc/resolv.confDNS 재정의가 무시되지 않도록 VPN 클라이언트를 구성하는 것이 가장 좋습니다. /etc/resolv.conf(좋은 VPN 클라이언트에는 이 기능이 있어야 합니다.) 구성 파일이나 동반 스크립트의 옵션).

예를 들어 각 VPN을 통해 서로 다른 내부 네트워크에 액세스할 수 있기 때문에 여러 개의 이름 서버가 필요한 경우 요청을 전달하는 이름 서버에 연결해야 합니다. 나는 추천한다DNS는 가볍고 구성이 쉬우며 대부분의 독립 실행형 및 소규모 네트워크 설정의 요구 사항을 충족할 만큼 강력합니다. 자체 네임서버를 실행하는 경우 이는 /etc/resolv.conf포함되어야 nameserver 127.0.0.1하고 포함되지 않아야 nameserver하므로 VPN 클라이언트가 이 지시문을 무시하지 않도록 해야 합니다.

관련 정보