CLI의 유선 인터페이스에 WiFi 연결 공유

CLI의 유선 인터페이스에 WiFi 연결 공유

인터넷에 접속할 수 없는 서버가 있지만 때때로 일부 패키지를 업데이트해야 합니다. 내 삶을 더 쉽게 만들기 위해 Linux도 실행하는 노트북을 사용하여 노트북의 이더넷 포트를 통해 노트북의 WiFi 연결을 공유하고 일반 이더넷 케이블을 사용하여 서버를 노트북에 연결합니다. 물론, 내 노트북 ​​이더넷 인터페이스의 IP 주소와 일치하도록 서버의 GW도 변경했습니다.

Network Manager GUI에서 이 작업을 수행하는 방법을 알고 있지만 명령줄을 사용하여 수행하는 방법을 알고 싶습니다. IPTables맞춤 규칙 작성이 포함되지 않는 솔루션을 찾고 싶습니다 . 이를 수행하기 위한 스크립트와 별칭을 작성하고 싶다는 생각입니다.

완료되면 여기저기서 소스 코드를 공유하겠습니다. Github이것이 결국 오픈 소스의 아름다움입니다.

답변1

조금 서두르긴 했지만 기본적으로... enp0s3이 LAN이라면 enp0s8이 WLAN입니다.

노트북 쪽:

#ENABLE PACKET FORWARD
echo 1 > /proc/sys/net/ipv4/ip_forward

#YOU COULD JUST ENABLE FORWARD FOR EVERYTHING WITHOUT LIMITATIONS, USING INTERFACES JUST TO BE MORE SPECIFIC
iptables -A FORWARD -i enp0s3 -o enp0s8 -j ACCEPT
iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT

#MASQUERADE OUTBOUND CONNECTIONS
iptables -t nat -A POSTROUTING -o enp0s8 -j MASQUERADE

이는 쉽게 스크립트로 작성할 수 있으며 재부팅 시 모든 구성이 지워집니다.

서비스 터미널:

ASSIGN VALID STATIC NETWORK CONFIGURATION WITH LAPTOP IP AS GATEWAY
ASSIGN VALID DNS (VIA /etc/resolv.conf IF LINUX), OR YOU CAN DO ADDITIONAL IPTABLES RULES TO DNAT DNS TRAFFIC LAPTOP SIDE

답변2

GUI를 사용한다는 것은 기본적으로 NetworkManager에서 연결 프로필을 활성화한다는 의미입니다. 명령줄에서도 동일한 작업을 수행할 수 있습니다.

먼저 출력을 보고 관련 구성 파일의 이름을 찾습니다 nmcli connection. 그런 다음 활성화 프로필을 사용하십시오 nmcli connection up "$PROFILE_NAME".

물론, nmcli 등을 사용하여 명령줄에서 구성 파일을 생성하고 수정할 수 있습니다. 매뉴얼 페이지를 참조하십시오. 구성 파일의 관련 설정은 ipv4.method=shared.

관련 정보