WiFi에서 이더넷으로 네트워크 트래픽을 전달하는 방법은 무엇입니까? [복사]

WiFi에서 이더넷으로 네트워크 트래픽을 전달하는 방법은 무엇입니까? [복사]

두 대의 컴퓨터가 있습니다. 컴퓨터 1(Ubuntu 데스크탑)에는 WiFi 연결과 이더넷 포트가 있고, 컴퓨터 2(Ubuntu 서버)에는 이더넷 포트만 있습니다. 컴퓨터 1이 두 컴퓨터 간의 이더넷 연결을 통해 컴퓨터 2와 인터넷 연결을 공유하기를 원합니다.

지금까지 내가 한 일:

  • 이더넷 케이블을 사용하여 두 대의 컴퓨터를 함께 연결했습니다.
  • 두 대의 컴퓨터에 LAN을 만들었습니다.
    • 각 컴퓨터에는 고정 IP( 구성됨 /etc/netplan/*)가 있습니다. 컴퓨터 1은 으로 구성되고 컴퓨터 2는 기본 게이트웨이 192.168.2.1/24로 구성됩니다 .192.168.2.140/24192.168.2.1
    • 두 컴퓨터 모두 서로 핑을 보낼 수 있습니다.
  • iptable컴퓨터 1과 WiFi 및 이더넷 인터페이스 사이에서 각각 전달 ( 의 출력에 있음 ) wlp5s0을 설정하려고 시도했지만 운이 없었습니다. 나는 구성에 대해 충분히 알지 못하므로 내가 찾은 모든 가이드는 다소 맹목적입니다.enp4s0ifconfigiptables
  • IP 전달이 활성화되었습니다.sudo echo 1 > /proc/sys/net/ipv4/ip_forward

"네트워크 브리징"에 대해 들어본 적이 있지만 이 경우에도 작동할지는 잘 모르겠습니다.

옆에:Network Manager에서 "다른 컴퓨터와 공유" 옵션을 사용하는 방법을 알고 있습니다. 나는 그것을 큰 성공으로 사용했습니다. 마음에 들지 않는 점은 고정 IP 주소를 설정할 수 없다는 것입니다. 또한 명령줄에서 이 모든 작업을 수행하는 방법을 알고 싶습니다.

답변1

  • 서버의 기본 게이트웨이를 데스크톱의 IP 주소로 설정합니다.
  ip route add 0.0.0.0 via 192.168.2.1
  • 데스크탑에서: 라인 변경/proc/sys/net/ipv4/ip_forward도착하다1
  • iptables에서 가장 무도회 설정
sudo iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE
sudo iptables -A FORWARD -i eth1 -o wlp5s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlp5s0 -o enp4s0 -j ACCEPT
  • 게시물 경로를 추가해야 합니다(그룹 채팅에서 발견되었습니다).
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT --to-source 192.168.1.139                   
  • 이 줄의 주석 처리를 해제하세요net.ipv4.ipforward=1파일에/etc/sysctl.conf
  • iptable을 저장합니다:
sudo iptables-save -t nat

관련 정보