Linux Mint 19에서 링크 집계(본딩)를 설정하는 방법

Linux Mint 19에서 링크 집계(본딩)를 설정하는 방법

을 사용하고 있습니다 network-manager. (라우터에 연결하고 휴대폰에 연결)과 유사한 GUI를 사용하여 두 개의 유선 연결을 연결하려고 했습니다 eth0. 본드형 장치를 생성하고 슬레이브 장치를 추가할 수 있는데 무슨 이유에서인지 연결이 되지 않습니다.usb0nm-connection-editoreth0usb0

구글링을 하다가 수정해야 할 내용을 찾았습니다 /etc/network/interfaces. 나는 성공하지 못하고 그것을 시도했다.

모듈이 로드되었는지 확인하기 위해 bonding시작 /etc/modules및 실행 modprobe+를 추가했습니다 . 내 파일은 다음과 같습니다.lsmod | grep bonding/etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual
    bond-master bond0
    bond-primary eth0 usb0

auto usb0
iface usb0 inet manual
    bond-master bond0
    bond-primary eth0 usb0

auto bond0
iface bond0 inet dhcp
    bond-slaves none
    bond-mode 6
    bond-miimon 100

재부팅을 했더니 A start job is running for Raise network interfaces...약 5분 뒤에 시스템은 시작됐지만 연결이 되지 않는다는 메시지가 떴습니다.

나는 몇 가지 변형을 시도했습니다.

/etc/network/interfaces:

auto bond0
iface bond0 inet dhcp
    bond-slaves eth0 usb0
    bond-mode 6
    bond-miimon 100
    bond-primary eth0 usb0

inet정적 매개변수를 설정 하고 추가해 보았지만 static아무도 도와주지 않았습니다.

내가 시도한 또 다른 방법은 ip link setand 를 사용하는 것이 ip link add었지만 사용했을 때 ip link set eth0 master bond0오류가 표시되었습니다.RTNETLINK answers: Operation not supported

System info:
OS: Linux Mint 19 Tara
Kernel: Linux 4.15.0-34-generic (x86_64)

마지막으로, 토렌트 다운로드 속도를 높이고 네트워크를 사용할 수 없을 때에도 연결을 유지하기 위해 네트워크를 테더링하고 싶습니다. 나는 alb 모드에서 네트워크 바인딩의 균형을 맞추는 것이 이 작업을 수행하는 가장 좋은 옵션이라는 것을 알았습니다. 그러나 누군가가 이 작업을 수행하는 더 나은 방법을 알고 있다면 제안을 받을 수 있습니다.

나를 안내하기 위해 다음 링크를 찾았습니다.

우분투 바인딩

네트워크 바인딩 - 커널 문서

Linux Mint 18.1의 링크 집계

Ubuntu에서 네트워크 결합을 구성하는 방법

답변1

다른 ISP에 "바인딩"할 수 없습니다.

본딩은 두 개의 LAN 연결을 가상의 단일 LAN 연결로 결합하는 데 사용됩니다.양쪽 끝. 이는 레이어 3(공급자가 할당한 다른 IP 주소)이 아닌 레이어 2에서 발생합니다. 한쪽 끝(다른 쪽 끝은 두 개의 서로 다른 ISP)에서만 이 작업을 수행하므로 이런 일이 발생할 가능성은 없습니다.

본질적으로 둘 중 하나를 사용하고 있기 때문에 실험 결과가 "불안정"합니다.

"두 개의 ISP에 동시에 연결하는 방법"은 정기적으로 올라오는 FAQ입니다. 대답은 "쉽지 않다"이다. 일부 사용자 지정 로드 밸런싱을 수행할 수 있지만 코드를 직접 작성해야 합니다.

답변2

음... 이번에는 더 깊이 파고들었습니다.

mode balance-alb서비스를 시작하려고 하면 오류가 표시됩니다.

bond0: dev eth0의 dev_set_mac_address가 실패했습니다! ALB 모드에서는 네트워크 장치 인터페이스가 열려 있을 때 기본 드라이버가 하드웨어 주소 설정도 지원해야 합니다.

이 오류가 표시되며 journalctl -xe터미널에서 실행 후 서비스가 시작되지 않습니다.

그래서. 나는 다른 접근 방식을 시도했고 mode balance-rr마침내 다음 단계에 따라 결합된 네트워크를 생각해 냈습니다.

1) $echo bonding >> /etc/modules

2)$sudo modprobe bonding && lsmod | grep bonding

3) $sudo systemctl stop network-manager && sudo systemctl disable network-manager

4) $sudo nano /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet manual
    bond-master bond0

allow-hotplug usb0
auto usb0
iface usb0 inet manual
    bond-master bond0

auto bond0
iface bond0 inet dhcp
    bond-slaves none
    bond-mode balance_rr
    bond-miimon 100
    bond-downdelay 200
    bond-updelay 200

정보: include를 iface bond0 inet static사용하면 DNS에 연결되지 않기 때문에 작동하지 않습니다.static parameters (address,netmask,network,gateway)dns_nameservers

5) $sudo systemctl restart networking

마지막으로 다음과 결속을 맺으세요:

$cat /proc/net/bonding/bond0

eth0그러나 제가 생각했던 것과는 달리 연결이 매우 불안정하여 시작 시 연결되어 있거나 usb0플러그가 뽑혀 있는 경우 또는 장치의 연결이 끊어졌으나 여전히 연결을 시도하여 누락된 패킷이 완료되는 경우에는 bond0작동하지 않습니다 .

관련 정보