이더넷 케이블을 통해 Wi-Fi 신호를 "파이핑"

이더넷 케이블을 통해 Wi-Fi 신호를 "파이핑"

현재 제가 일하는 건물에는 이더넷 포트가 다운되어 있는데, Wi-Fi는 가능합니다. Wi-Fi가 지원되는 노트북이 있습니다(우분투14.04LTS(Trusty Tahr)) 및 Wi-Fi를 지원하지 않는 워크스테이션(더반 8(Jessie)) 이더넷 플러그만 제공됩니다.

이더넷 케이블을 통해 두 개를 연결하고 워크스테이션에서 네트워크 연결을 얻을 수 있습니까?

답변1

네, 할 수 있고 그렇게 어렵지도 않습니다. 무선 카드와 이더넷 포트가 있는 노트북이 있습니다. "크로스오버" 이더넷 케이블을 통해 Arch Linux를 실행하는 RapberryPi를 연결했습니다. 여기에 필요할 수 있는 한 가지 특별한 사항이 있습니다. 모든 이더넷 카드가 기계 간 직접 연결을 할 수 있는 것은 아닙니다.

또 다른 까다로운 부분은 IP 주소 지정입니다. 이 점을 설명하는 것이 가장 좋을 것입니다. 여기 내 작은 설정 스크립트가 있습니다. 마찬가지로 enp9s0은 랩탑의 이더넷 포트이고 wlp12s0은 랩탑의 무선 장치입니다.

#!/bin/bash
/usr/bin/ip link set dev enp9s0 up
/usr/bin/ip addr add 172.16.1.1/24 dev enp9s0
sleep 10

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -A FORWARD -o enp9s0 -i wlp12s0 -s 172.16.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

dhcpd -cf /etc/dhcpd.enp9s0.conf enp9s0

스크립트는 이더넷 카드에 고정 IP 주소 172.16.1.1을 설정한 다음 커널 모듈을 로드하여 NAT를 설정합니다. 랩탑에서 IP 라우팅을 켜고 iptables무선 카드에서 이더넷으로 또는 그 반대로 패킷을 라우팅하는 반마법을 수행합니다.

저는 dhcpdRaspberry Pi가 원하는 IP 주소를 제공하기 위해 이더넷 포트에서 실행하고 있지만 워크스테이션의 고정 주소는 물론 고정 경로, DNS 서버 및 NTP 서버도 사용할 수 있습니다.

/etc/dhcpd.enp9s0.conf이 경로를 따라갈 경우를 대비해 파일은 다음과 같습니다.

option domain-name "subnet";
option domain-name-servers 10.0.0.3;
option routers 172.16.1.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
        subnet 172.16.1.0 netmask 255.255.255.0 {
                option subnet-mask 255.255.255.0;
                pool { range 172.16.1.50 172.16.1.200; }
        }
}

IP 주소 선택은 매우 중요합니다. 저는 노트북에서 나오는 이더넷 케이블로 172.16.1.0/24를 사용하고 있습니다. 노트북의 무선 카드는 결국 192.161.1.0/24였습니다. 랩톱 무선 네트워크의 IP 주소를 확인하고 이더넷 카드에 대해 다른 서브넷을 선택해야 합니다. 또한 "bogon" 또는 "라우팅할 수 없는" 네트워크 중 하나를 선택해야 합니다. 내 예에서 172.16.1.0/24는 라우팅할 수 없는 공식 IP 주소 범위에 속하며, 192.168.1.0/24도 마찬가지이고 dhcpd.enp9s0.confDNS 서버 및 NTP 서버에 제공되는 10.0.0.3 주소도 마찬가지입니다. 자신에게 맞는 설정을 찾으려면 두뇌를 사용해야 합니다.

답변2

가능합니까? 전적으로. 당신이 해야 할 일은 패킷을 노트북의 이더넷 포트에서 노트북의 WiFi로 또는 그 반대로 이동하기 위한 IP 전달, 라우팅 또는 기타 (간단한) 방법을 구성하는 것뿐입니다. 이것이 좋은 생각입니까? 아마도 그렇지 않을 것입니다. 네트워크 관리자가 귀하에게 약간 불만을 품을 수도 있습니다.

답변3

Wikipedia에 따르면 이더넷 포트 중 하나가 기가비트이면 일반 케이블이 작동하고 크로스오버가 필요하지 않으며 양쪽에 기가비트가 있으면 일반 케이블이 작동합니다.

이 질문은 2016년에 요청되었으므로 네트워크 관리자가 두 Linux 시스템 모두에서 실행되고 GUI를 사용하여 ip -s를 설정할 수 있다고 가정합니다. 그렇지 않은 경우 사용자 정의 설정이 있고 명령에서 수행하는 방법을 알고 있을 것입니다. IP를 설정하라는 메시지가 표시되므로 해당 세부 정보는 생략했습니다.

케이블을 연결하면 랩톱 및 워크스테이션의 이더넷과 관련된 GUI에 네트워크 인터페이스 이름이 표시됩니다.

워크스테이션(및/또는 이더넷을 통한 랩톱)을 다른 네트워크 장치에 정기적으로 연결하는 데 관심이 없다고 가정하면 두 이더넷 인터페이스 모두에 고정 IP를 설정할 수 있습니다.

Wi-Fi와 다른 고정 IP 서브넷을 설정합니다. 예를 들어 Wi-Fi가 192.168.1.0/16인 경우 192.168.2.1 및 192.168.2.2로 설정하고 서브넷 마스크는 255.255.255.0입니다. IP의 마지막 하나의 "숫자"가 다릅니다. 워크스테이션에서 DNS를 사용할 수 있으려면 워크스테이션의 DNS를 노트북의 Wi-Fi와 동일한 DNS IP로 설정해야 합니다. IP).

노트북에서 IP 전달을 활성화해야 합니다.

sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

노트북의 네트워크 관리자는 이더넷이 Wi-Fi보다 품질이 더 좋다고 생각할 가능성이 높으므로 기본적으로 이더넷으로 모든 것을 전송하려고 시도하며 이더넷을 설정한 후에는 인터넷 연결이 끊어집니다. 다시 Wi-Fi를 사용하려면 노트북에서 이더넷 연결과 관련된 파일의 [ipv4] 섹션(이더넷 네트워크 관리자 GUI에 표시되는 이름)에 해당 줄을 /etc/NetworkManager/추가 해야 합니다.

never-default=true

(GUI에 이더넷 확인란에 "이 연결에서만 리소스 사용"과 같은 항목이 있는 경우 내 GUI에서는 연결 속성의 ip4 섹션에 있으므로 이를 사용할 수 있습니다.)

마지막으로 IP 테이블 규칙이 기본적으로 모든 것을 허용한다고 가정하면 워크스테이션에서 들어오는 패킷은 인터넷으로 전송되지만 반환 경로를 찾지 못하고 NAT 규칙을 설정할 때까지 랩톱으로만 돌아갑니다. 명령이 있는 노트북(여기서 eth0은 Wi-Fi 연결의 이름이어야 하며 로 이름을 찾을 수 있습니다 sudo ifconfig):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

그 후에도 작동하지 않으면 Network Manager를 다시 시작해 보십시오.

sudo service network-manager restart

준비가 되어 있어야 합니다.

관련 정보