우리는 시드니 대학교에서 개발 프로젝트 단위를 완료하는 학생들로 구성된 그룹입니다. Linux 라우팅에 어려움을 겪고 있습니다. 올바른 방향을 알려주셔서 진심으로 감사드립니다. 우리의 전반적인 임무는 모바일 인터넷 연결과 함께 대역폭을 늘리는 것입니다.
우리는 무엇을 원하는가 우리는 각각 자체 서브넷을 갖고 있는 여러 개의 라우터를 가지고 있으며 모두 스위치에 연결됩니다. 자체 게이트웨이처럼 하나의 시스템에서 각 라우터를 사용하고 싶습니다.
우리는 MPTCP를 사용하여 각 링크를 활용하여 네트워크 대역폭을 확장하려고 합니다. 위 그림의 라즈베리파이는 라우터 역할만 합니다. 우리는 RP에서 iptables를 사용하여 이더넷에서 4G 인터넷으로 패킷을 전달합니다. 예를 들어, 서브넷이 192.168.101.0/24, 192.168.102.0/24, 192.168.103.0/24, 192.168.104.0/24인 4개의 라우터가 있습니다. 랩톱에는 물리적 네트워크 카드 eth0이 하나만 있습니다. 각 Raspberry Pi에 대한 가상 NIC 또는 라우팅 규칙을 사용하여 노트북에 MPTCP를 설정하려고 합니다.
우리는 무엇을 시도했습니까?
우리는 ip addr add
물리적 eth0에 여러 IP 주소를 추가한 적이 있습니다. 그런 다음 다음을 기반으로 라우팅 규칙을 추가하려고 합니다.http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting. 그러나 궁극적으로 모든 트래픽은 여전히 기본 라우터를 통과합니다. 우리는 랩탑에 연결된 다양한 (가상이 아닌) NIC와 함께 MPTCP를 성공적으로 사용했습니다.
우리는 무엇을 알고 싶습니까? 이것이 가능한가?
우리는 아직 이러한 방법을 성공적으로 사용하지 못했지만 이는 이 분야에 대한 경험 부족과 관련이 있을 수 있습니다.
이것이 가능하다면 우리에게 올바른 방향을 알려 주실 수 있습니까?
편집하다
@dirkt의 솔루션을 실행하려는 시도는 다음과 같습니다.
ian@ians-mof-ish-pc:/etc/netplan$ ip r
default via 192.168.91.1 dev eth0.1
192.168.91.0/24 dev eth0.1 proto kernel scope link src 192.168.91.100
192.168.92.0/24 dev eth0.2 proto kernel scope link src 192.168.92.100
ian@ians-mof-ish-pc:/etc/netplan$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 34:e6:d7:7c:6e:ee brd ff:ff:ff:ff:ff:ff
inet 192.168.92.201/24 brd 192.168.92.255 scope global enp2s0
valid_lft forever preferred_lft forever
inet6 fe80::36e6:d7ff:fe7c:6eee/64 scope link
valid_lft forever preferred_lft forever
4: wlp1s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 70:77:81:c1:07:61 brd ff:ff:ff:ff:ff:ff
5: eth0.1@enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 34:e6:d7:7c:6e:ee brd ff:ff:ff:ff:ff:ff
inet 192.168.91.100/24 scope global eth0.1
valid_lft forever preferred_lft forever
inet6 fe80::36e6:d7ff:fe7c:6eee/64 scope link
valid_lft forever preferred_lft forever
6: eth0.2@enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 34:e6:d7:7c:6e:ee brd ff:ff:ff:ff:ff:ff
inet 192.168.92.100/24 scope global eth0.2
valid_lft forever preferred_lft forever
inet6 fe80::36e6:d7ff:fe7c:6eee/64 scope link
valid_lft forever preferred_lft forever
ian@ians-mof-ish-pc:/etc/netplan$ ip rule show
0: from all lookup local
32764: from 192.168.92.100 lookup 2
32765: from 192.168.91.100 lookup 1
32766: from all lookup main
32767: from all lookup default
ian@ians-mof-ish-pc:/etc/netplan$ ip r show table 1
default via 192.168.91.1 dev eth0.1
192.168.91.0/24 dev eth0.1 scope link
ian@ians-mof-ish-pc:/etc/netplan$ ip r show table 2
default via 192.168.92.1 dev eth0.2
192.168.92.0/24 dev eth0.2 scope link
ian@ians-mof-ish-pc:/etc/netplan$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.91.100 icmp_seq=1 Destination Host Unreachable
From 192.168.91.100 icmp_seq=2 Destination Host Unreachable
From 192.168.91.100 icmp_seq=3 Destination Host Unreachable
From 192.168.91.100 icmp_seq=4 Destination Host Unreachable
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3041ms
pipe 3
ian@ians-mof-ish-pc:/etc/netplan$ ping 192.168.91.1
PING 192.168.91.1 (192.168.91.1) 56(84) bytes of data.
From 192.168.91.100 icmp_seq=1 Destination Host Unreachable
From 192.168.91.100 icmp_seq=2 Destination Host Unreachable
From 192.168.91.100 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.91.1 ping statistics ---
4 packets transmitted, 0 received, +3 errors, 100% packet loss, time 3055ms
pipe 3
답변1
당신은 그것을 사용할 수 있습니다가상 LAN노트북의 각 RaspPi에 대해 "가상" NIC를 만듭니다.
첫 번째 RaspPi가 VLAN 태그 1을 얻는다고 가정하면 괜찮습니다.
ip link add link eth0 name eth0.1 type vlan id 1
노트북 및 RaspPi #1과 같은 것. RaspPi에서는 하나의 주소 eth0
만 무시하고 구성하십시오 eth0.1
. VLAN 태그가 다른 모든 RaspPi에 대해 계속 이 작업을 수행합니다.
랩톱에서는 무시하고 eth0
all 등을 사용 eth0.1
하고 eth0.2
다른 주소를 제공합니다.
그럼 당신이하는 무엇이든 사용
우리는 랩탑에 연결된 다양한 (가상이 아닌) NIC와 함께 MPTCP를 성공적으로 사용했습니다.
작동하게 만들다.
(라우팅을 통한 MPTCP가 흥미롭네요. 확인해 봐야겠습니다.)