私たちは、シドニー大学で開発プロジェクトユニットを完了する学生からなるグループです。 Linuxのルーティングに苦労しています。正しい方向を教えてくれてありがとう。私たちの全体的な使命は、モバイルインターネット接続で帯域幅を増やすことです。
私たちは何をしたいですか それぞれに独自のサブネットを持つ複数のルーターがあり、すべてスイッチに接続されています。独自のゲートウェイのように、1つのシステムで各ルータを使用したいと思います。
我々は、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が1つしかありません。各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では、1つのアドレスeth0
のみを無視して設定しますeth0.1
。 VLANタグが異なるすべてのRaspPiに対して引き続きこの操作を実行します。
ラップトップでは無視してeth0
allなどを使用eth0.1
し、eth0.2
異なるアドレスを提供します。
それからあなたがしているものを使う
我々は、ラップトップに接続された様々な(仮想ではない)NICでMPTCPをうまく使用しました。
動作させる。
(ルーティングによるMPTCPが面白いです。確認してみてください。)