挿入されたカードを介したセルラー接続を意味するインターフェイスを介してデータ通話を確立しようとするとrmnet_dataX
問題が発生します。私は次のことを行います
ifconfig rmnet_data0 up
次に静的にIPを割り当てます。
rmnet_data0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.246.68.132 Mask:255.0.0.0
UP RUNNING MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
ルーティングテーブルへのデフォルトルートの追加
ip ro add default via 10.246.68.132 dev rmnet_data0
DNSサーバーの追加
echo "nameserver 8.8.4.4" >> /etc/resolv.conf
NATルールの設定
iptables -t nat -D POSTROUTING -o rmnet_data0 -j MASQUERADE
ルーティングテーブル
netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default 10.246.68.132 0.0.0.0 UG 0 0 0 rmnet_data0
10.0.0.0 * 255.0.0.0 U 0 0 0 rmnet_data0
192.168.225.0 * 255.255.255.0 U 0 0 0 bridge0
ping google.com // fails
また、デフォルトルートは、実際にゲートウェイIPに到着するパケットが外部ネットワーク(この場合はネットワークデータ)にルーティングされることを意味しますか?
それでは、NATルールは本当に必要ですか?
答え1
はい、いくつかのネットワーキングの基本(詳細を読んでください。オンラインにはたくさんのリソースがあります):
ルーティングテーブルは、このシステムで開始されたパケットと他のシステムから着信して転送されるパケットの両方に適用されます(この場合は転送を有効にする必要があります)。だからルーティングテーブルはいつもすべてのネットワークに必要です。
ネットワークアドレス変換(NAT)は、(1)他のコンピュータからのパケットがセルラーネットワークに転送され、(2)セルラーネットワークが単一のクライアントのみを認識している場合(通常はそうです)にのみ必要です。他のコンピュータからのパケットは、他のコンピュータからのものではなく、このコンピュータからのものです。
動作させる手順は、まずこのコンピュータで動作させることです。転送とNATが必須の場合、これは2段階です。したがって、最初はファイアウォールルールはありません。
この特定のインターフェイスを処理する特定のDHCPクライアントを実行する必要があります。詳細はシステムによって異なります。構成は、システム、ネットワーク管理者、またはレガシースタイルの構成などによって異なります。システムで何が実行されているかを調べるには、Googleで「systemdを使用してDHCPを設定する」などを検索してください。
DHCPの場合、通常、インターフェイスが表示されたときにDHCPクライアントが起動し、DHCPクライアントがインターフェイスに「こんにちは。初めて来ました。IPアドレスと追加情報を教えてください」というメッセージをブロードキャストします。 DHCPサーバーはブロードキャストに応答し、IP、ゲートウェイ、および追加情報を通知します。その後、DHCPクライアントプログラムはこの情報を使用してIPアドレス、ルーティングテーブルなどを設定します。一部のセルラーネットワークではこの方法を使用し、他のセルラーネットワークでは異なる方法を使用します。あなたの携帯電話サービスプロバイダがどのサービスを提供しているのかわかりません。