У меня есть несколько Raspberry Pi2, загруженных Jessie lite в сети. Я хочу, чтобы они поделились интернет-соединением ключа 3G, но я не могу заставить его работать.
Вот некоторые детали:
Все RPi находятся в одной сети 10.0.0.x вместе с некоторыми другими устройствами. Я настроил их (и RPi, и устройства) с фиксированным IP-адресом в одной и той же подсети, и это отлично работает, все они могут общаться друг с другом. Мне нужны фиксированные IP-адреса, потому что я хочу иметь возможность транслировать все устройства и получать к ним доступ из Интернета позже.
Только один RPi (адрес eth0 10.0.0.10, назовем его RPi0) имеет подключение к Интернету, которое исходит от ключа Huawei 3G. Ключ создает интерфейс eth1 с автоматическим адресом, который всегда выглядит как 192.168.8.100. Если я попытаюсь принудительно установить IP-адрес вручную, я не смогу получить доступ к Интернету.
Из коробки, когда я подключаю USB-ключ, RPi0 может получить доступ к Интернету и разрешить адреса.
Теперь я хотел бы разрешить всем другим устройствам на 10.0.0.x доступ в Интернет через RPi с USB-ключом. Поэтому я полагаю, что 10.0.0.10 должен работать как шлюз и направлять трафик через eth1. Я следил за многими учебниками, чтобы знать, но я должен что-то упустить, потому что я не могу заставить его работать.
Я включил настройку NAT net.ipv4.ip_forward=1 in /etc/sysctl.conf
Затем я пытаюсь указать правило NAT для всего трафика, который должен проходить через eth1.
sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
не может больше пинговать общедоступные IP-адреса
маршрут выглядит так:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default hi.link 0.0.0.0 UG 247 0 0 eth1
10.0.0.0 * 255.255.255.0 U 202 0 0 eth0
192.168.8.0 * 255.255.255.0 U 247 0 0 eth1
Что я делаю неправильно?
РЕДАКТИРОВАТЬ
ключ автоматически создает порт Ethernet с адресом 192.168.8.100, но адрес шлюза 192.168.8.1 (который должен быть hi.link в таблицах IP). Поэтому я ожидаю, что это сработает, пакеты для Интернета, поступающие от других устройств 10.0.0.x, должны направляться на шлюз. Но это не так.
traceroute
? ваш вывод сильно отличается от вывода этой команды. - person Rho Phi   schedule 29.11.2018