인터넷에 접속할 수 없는 서버가 있지만 때때로 일부 패키지를 업데이트해야 합니다. 내 삶을 더 쉽게 만들기 위해 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
.