OS Xの仮想マシンにUbuntu 12.04.5 LTSがインストールされています。直接イーサネットワイヤを介して同じMacに接続されたRaspberry Piがあります。 Macはwifi接続を介してインターネットに接続されています。
RPIをインターネットに接続したいが、ping <ip>
、wget <url>
動作しません。奇妙なことに、apt-get
ISworking。Ubuntu仮想マシンでは、すべてがインターネットに接続でき、問題ありません。
私がSudo tcpdump -a -v -i eth1
Ubuntuマシンおよびping 8.8.8.8
RPIでは、トラフィックがUbuntuに到達していることがわかりますが、RPIは応答しません。 Ubuntuでこれを見る:
10.0.0.101 > google-public-dns-a.google.com: ICMP echo request, id 2156, seq 1, length 64
09:49:47.008804 IP (tos 0x0, ttl 64, id 22891, offset 0, flags [DF], proto ICMP (1), length 84)
10.0.0.101 > google-public-dns-a.google.com: ICMP echo request, id 2156, seq 2, length 64
09:49:48.008648 IP (tos 0x0, ttl 64, id 22985, offset 0, flags [DF], proto ICMP (1), length 84)
...
wget http://google.com
、curl
など、RPIでは、Ubuntu仮想マシンに到達するトラフィックが常に表示されますが、RPIには何も戻されません。
RPIをインターネットに接続するにはどうすればよいですか?
ありがとう
最後に、私はそれを機能させました。 apt-get
は機能していたので、Ubuntu VMですべてが正しくセットアップされていると思いましたが、そうではありませんでした。私はこの投稿から解決策を得ました https://support.hidemyass.com/hc/en-us/articles/202721486-Using-Linux-Virtual-Machine-instead-of-a-router-for-VPN
Ubuntu VMで、eth0
: インターネット、 eth1
:イーサネットケーブルで接続されたRPI
Sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Sudo iptables -A FORWARD -o eth0 -i eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
Sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Sudo iptables -A POSTROUTING -t nat -j MASQUERADE
Sudo iptables-save | Sudo tee /etc/iptables.sav
/etc/sysctl.confのこの行のコメントを解除します
net.ipv4.ip_forward=1
apt-get
そもそも働いていたのは私にとってはまだ謎です。