응용 프로그램이 특정 네트워크 인터페이스를 사용하도록합니다.


44

여러 네트워크 인터페이스 (LAN 및 무선)를 사용하고 있으며 선호 인터페이스의 순서를 변경하는 방법이 있음을 발견했습니다. 유선 네트워크를 사용하여 작업을 수행하고 전자 메일을 확인하는 등 (안전하게) 무선 VLAN을 사용하여 다른 작업에 액세스 할 수 있습니까? 그렇지 않으면 포트 및 때로는 웹 센스에 의해 차단됩니까?

답변:


20

트릭은 라우팅 테이블을 조정하는 것입니다 (대상 포트 또는 소스 앱에 의존하지 않지만 대상 호스트에 따라 다름). 이것은 Linux 나 OS X (태그가 보여준대로)를 사용하고 있다고 가정합니다.

기본 게이트웨이가 1.2.3.4이고 트래픽을 6.7.8.9에 라우팅 할 수있는 VPN이 있다고 가정 해보십시오. 메일 트래픽을 6.7.8.9 이상으로 라우팅하려면

sudo route add mail.myserver.com 6.7.8.9

일부 버전의 경로에서는 주소와 다음 홉 사이에 "gw"키워드가 필요할 수 있습니다. 그 다음 홉을 통해 전체 순 경로를 만들고 싶다면 목적지의 CIDR 표기법에 넷 마스크를 추가하면됩니다.

sudo route add 192.168.0.0/24 6.7.8.9

기존 라우팅 테이블을 보려면 다음을 사용하십시오.

netstat -nrl
or
ip route list

Windows의 경우 "net route"를 사용하면 대부분의 방법을 사용할 수 있지만 구문이 완전히 다릅니다.


15
이것은 실제로 대답이 아닙니다. 문제는 웹 사이트가 아닌 앱을 강제 실행하는 방법입니다. 예를 들어 사파리가 VPN (ppp0)을 통과하기를 원했지만 Firefox는 액세스하는 사이트에 관계없이 en0을 넘길 수 있습니까? 그게 질문입니다.
gman

2
@gman :이 답변에 관한 내용은 웹 사이트에만 해당됩니다.
Lightness Races in Orbit

2
OP는 응용 프로그램을 기반으로 네트워크 인터페이스를 선택하려고합니다. 이 대답은 대상 호스트를 기반으로 선택하는 방법을 보여줍니다.
Bennett McElwee

나는 이것을 downvote하지 않을 것이다 (그것은 다른 질문을위한 좋은 충고이다.) 그러나 나는 확실히 이것을 upvote하지 않을 것이다. (왜냐하면 @gman과 @ bennett-mcelwee로 명시된 이유 때문이다.)
ratskin

6

동시에 두 개의 NIC를 활성화하려면 네트워크 장치 목록 아래에있는 장비를 선택하여 시스템 기본 설정 / 네트워크에서 서비스 순서를 설정할 수 있습니다. 원하는 순서를 드래그 앤 드롭하십시오.

예를 들어 Ether-WiFi는 Ether-over Wi-Fi를 통해 MBP에서 항상 활성화되어 있습니다. 직장에서 Ether을 사용하기 때문에 프록시 설정과 Wi-Fi없이 NIC를 설정했습니다. 집에 갈 때 설정을 조정할 필요가 없습니다. 당신은 또한 터미널을 사용하여 이것을 할 수있다. /usr/bin/networksetup -ordernetworkservices.

하지만 액티브와 앱 모두 기본이 아닌 것을 사용하기 때문에 안도르의 충고에 약간의 도움이되었습니다. 필자의 경우 Ether을 사용하지 않기를 원하면 app의 프록시 설정을 Wi-Fi 어댑터의 IP 주소로 설정합니다. 이 인터페이스를 사용하여 나가서 그런 식으로 회사 프록시를 우회하고 서버를 모니터링합니다. 따라서 Ether이 1.2.3.4의 주소를 가지고 있으며 서비스 순서에서 Wi-Fi (5.6.7.8) 이전에 오는 경우 5.6.7.8에 내 앱 프록시가 있습니다.


3

Mac의 경우, 제가 사용하는 간단한 해결책이 있습니다. 사실 Andor의 솔루션 구현입니다. 프록시를 설치하고 사용하도록 앱을 구성하십시오.

  1. 설치 한 오징어

  2. 구성에서 다음 행을 추가하십시오. 비공개 앱 대신 사용할 IP를 지정해야합니다. x.x.x.x:

    tcp_outgoing_address x.x.x.x
    
  3. SquidMan을 시작하고 앱을 프록시로 사용하도록 구성하십시오.

다른 페이지에서이 정보를 찾는 데 한 시간 씩 걸렸으므로 다른 사람들이 더 빨리 그것을 할 수 있기를 바랍니다.


Windows에서 동일하게 작동해야하며 유일한 유일한 해결책 인 것 같습니다!
TJJ

1

아마도 저수준 IO 제어 기능 (ioctl)을 사용해야 할 것입니다. 특히:

ioctl( socket, SIOCGIFADDR, ... ); // Get network interface address

ioctl( socket, SIOCSIFADDR, ... ); // Set network interface address

만나다 이 맨 페이지 자세한 사항은.


1

문제는 네트워크 연결에 여러 개의 게이트웨이를 사용하게 될 것이고 관리하기가 다소 어려워진 점입니다.

어떤 서버 나 네트워크 관련 유닉스와 리눅스 툴은 보통 "interface"라는 플래그를 가지고 있습니다.이 플래그는 tcpdump와 같이 사용할 인터페이스를 알려줍니다 :

tcpdump -i eth0

하지만 표준 데스크톱 소프트웨어를 라우팅하는 것에 대해 묻는다면 조금 어려워 질 것입니다 ...

어쨌든 그 트릭을 말할 수 있습니다 ... 그 문제를 다루는 나의 보통의 해결책은 프록시를 사용하고 하나의 게이트웨이 만 갖는 것입니다. 요즘 인터넷을 사용하는 거의 모든 소프트웨어에는 프록시 구성 옵션이 있으므로 다음과 같이 할 수 있습니다.

1. "보안되지 않은"(즉 정책이 시행되지 않는 곳) 네트워크에 프록시를 설정하고 소프트웨어를 해당 프록시로 지정하십시오.

2. 다른 "안전하지 않은"장소, 예를 들어 집이나 인터넷 전용 서버에 SSH 서버를 설치하고 SSH가 보유하고있는 양말 프록시 서버를 만드는 특수 기능을 통해 연결을 여는 경우 :

ssh -D 1234 user@host

그러면 포트 "1234"에있는 "호스트"에 연결하고 "사용자"를 사용하여 "호스트"의 연결을 통해 인터넷으로 연결되는 양말 프록시 서버가 컴퓨터에 생성됩니다. 그런 다음, 로컬 소프트웨어에서 프록시 구성 도구를 열고 localhost : 1234를 지정하기 만하면됩니다.

기업 인터넷 정책 피하기위한 좋은 속임수 : P

:디


1

내 비즈니스 응용 프로그램을 가상 컴퓨터에서 실행합니다. 위의 지침을 사용하여 선호하는 연결로 WiFi를 설정 한 다음 이더넷 포트를 "브리지 된"어댑터로 사용하도록 가상 컴퓨터를 구성했습니다.

가상 머신 내부에서 실행되는 모든 것은 이제 이더넷 포트에 하드 링크됩니다. WiFi 연결이있는 한 WiFi는 다른 모든 응용 프로그램 (가상 컴퓨터 외부)에 대한 기본 연결입니다.

응용 프로그램을 특정 이더넷 포트에 강제로 바인딩하는 데 사용할 수있는 유틸리티가 있지만 MacOS 용으로 조사하지는 않았다고 생각합니다.

앞에서 언급 한 라우팅 방법은 "평신도"에게는 다소 복잡하지만 좋은 연결 방법처럼 보입니다. 특히 연결에서 동일한 IP 주소를 반복적으로 사용하는 경우 더욱 그렇습니다.


0

이 질문은 OSX에 대한 것이지만 여기서는 Windows 7 64 비트에서 작동합니다. 이 문제는 인터넷 검색을 할 때 최고의 결과 중 하나로 나타났습니다. 응용 프로그램이 특정 어댑터를 통과하도록 강요하십시오. , 다음은 다른 사람들에게 유용 할 수 있습니다.

http://www.howtogeek.com/117890/how-to-force-an-application-to-use-a-specific-network-card/

위의 가이드는 다음과 같은 유틸리티를 사용합니다. ForceBindIp 이 광고는 Windows NT/2000/XP/2003 Windows 7 - 64 Bit에서 작동하도록하는 데 문제가 없었습니다.

또한, ForceBindIP with Windows 7 (x64) 관련 문제

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.