
두 개의 인터넷 연결이 있습니다. 하나의 인터넷 연결은 대기 시간이 매우 길고 연결에 변동이 있지만(타워와 Wi-Fi CPE 사이에 트리가 있어 신호가 올라가고 내려가는 경우) 연결이 0이 되지 않으므로 다운로드에는 문제가 없습니다. 하나는 유선 연결이며 다운로드 제한이 강합니다.
그래서 내가 원하는 것은 기본적으로 많은 데이터를 소비하는 Steam 및 다운로드 등과 같은 몇 가지 특정 프로그램에 wlan0을 사용하는 것입니다.
그리고 나는 브라우징 및 기타 작업에 wlan1을 사용하고 데이터는 줄이고 싶습니다.
간단히 말해서, 특정 NIC를 통해 특정 프로그램을 라우팅하고 싶지만 특정 범위의 IP가 없습니다.
추가 Wi-Fi 어댑터(wlan0,wlan1)가 1개 있으므로 Wi-Fi를 통해 둘 다 연결할 수 있습니다. 또 다른 옵션으로는 이더넷(wlan0,eth0)으로 연결할 수 있습니다.
답변1
프로세스에 뭔가가 있으면 가능할 수도 있습니다.iptables
특정 그룹과 같은 대상과 일치할 수 있습니다. 예를 들어, group이 주어지면 to-wifi
다음과 같은 iptables 규칙을 가질 수 있습니다.
iptables -A FORWARD --in-interface wlan0 -j ACCEPT
iptables -t nat -A OUTPUT -m owner --gid-owner to-wifi --out-interface wlan0 -j MASQUERADE
(그리고 전달이 활성화된 경우: sysctl -w net.ipv4.conf.all.forwarding=1
.)
그런 다음 예를 들어 Steam을 실행하면 다음과 같습니다.
sg to-wifi steam
해당 Steam 프로세스(+ 모든 하위 프로세스)의 모든 트래픽은 어떤 인터페이스에서든 무선 인터페이스로 전달됩니다.
iptables
저는 인터페이스 간 리디렉션을 시도한 적이 없지만 그룹과 일치하여 Steam에서 모든 TCP 트래픽을 프록시로 리디렉션하는 데 사용했기 때문에 이러한 규칙만으로는 충분하지 않을 수 있습니다.
각 인터페이스에 대한 그룹을 생성하고 여기에 자신을 추가하면 됩니다. 예를 들어,addgroup
그리고adduser
명령:
sudo addgroup to-wifi
sudo adduser $USER to-wifi
sudo addgroup for-eth0
sudo adduser $USER for-eth0
새 그룹 멤버십을 적용하려면 다시 로그인해야 합니다.
관련된:
답변2
내가 아는 한, 그렇게 할 수 있는 방법은 없습니다.
이는 특정 항목에 대한 iptables 규칙을 사용하여 수행할 수 있습니다.포트+ 연결을 위해 사용하는 목적지가 있지만 현지에서 연결하는 방법을 모르겠습니다.