4

Я только начинаю миссию, чтобы узнать больше о сети, и я следовал учебнику (http://raspberrypihq.com/how-to-turn-a-raspberry-pi-into-a-wifi-router/), чтобы превратить мой Raspberry Pi в маршрутизатор Wi-Fi.

Это сработало очень хорошо, поэтому я немного изменил его, чтобы я мог использовать привязанный iphone для подключения к интернету - я просто переключил все ссылки "eth0" на "eth1" (интерфейс iphone) и добавил скрипт, чтобы настроить все, когда телефон подключен

Эта настройка освободила порт Pi сети Ethernet, поэтому я хотел бы попытаться сделать это еще дальше и позволить подключенным к нему устройствам подключаться к сети. Если возможно, я бы хотел добавить переключатель, чтобы подключить несколько устройств.

Я безуспешно пытался поиграться с nat & iptables, поэтому мой вопрос: как я могу подключить устройства на eth0 к моей сети WLAN?


РЕДАКТИРОВАТЬ:

Некоторая дополнительная информация ниже. Это после того, как телефон подключен.

Вывод из iptables -t nat -L:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere

Вывод из netstat -rn:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         172.20.10.1     0.0.0.0         UG        0 0          0 eth1
172.20.10.0     0.0.0.0         255.255.255.240 U         0 0          0 eth1
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 wlan0

РЕДАКТИРОВАТЬ 2:

Следующее находится в моем файле dhcpd.conf:

subnet 192.168.10.0 netmask 255.255.255.0 {
 range 192.168.10.10 192.168.10.200;
 option broadcast-address 192.168.10.255;
 option routers 192.168.10.1;
 default-lease-time 600;
 max-lease-time 7200;
 option domain-name "local-network";
 option domain-name-servers 8.8.8.8, 8.8.4.4;
}

dhcp настроен для работы на wlan0 - /etc /default /isc-dhcp-server:

INTERFACES="wlan0"

1 ответ1

3

Строго говоря, больше ничего не требуется. Я предполагаю, что вы уже включили пересылку IPv4, и, возможно, также это правило:

  iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

который позволит вам NAT все ваши соединения. Тогда ваша таблица маршрутизации нуждается

  ip route add default via IP_ADDRESS_OF_YOUR_PHONE

что он также, вероятно, уже имеет. Тогда тебе пора.

РЕДАКТИРОВАТЬ:

Теперь, когда вы опубликовали свою таблицу маршрутизации (но, пожалуйста, не используйте устаревшие устаревшие команды, такие как * ifconfig, route, ..., просто команду ip , например, для таблицы маршрутизации ip route show , чтобы увидеть адреса интерфейсов. ip addr show , ...) Я вижу, что у вас нет маршрута к вашим Ethernet-портам-клиентам. Если сеть, из которой вы рисуете IP-адреса клиентов с кабельным подключением, - 192.168.20.0/24, то вам нужно будет добавить:

   ip route add 192.168.20.0/24 dev eth1

Вы не должны использовать одну и ту же сеть для беспроводных и кабельных клиентов.

Кроме того, если вам необходимо настроить dhcpd, отредактируйте тот же файл /etc/dhcp/dhcpd.conf, как и раньше, и добавьте новую сеть:

  subnet 192.168.10.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.10.1;
range 192.168.10.100 192.168.10.200;
}

subnet 192.168.20.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option routers 192.168.20.1;
range 192.168.20.100 192.168.20.200;
}

В файле /etc /default /isc-dhcp-server измените строку INTERFACES = "wlan0" на

 INTERFACES="wlan0 eth0"

и, наконец, дайте маршрутизатору хороший адрес на сетевой карте eth0 :

 ip link set dev eth0 down
 ip addr flush dev eth0
 ip addr add 192.168.20.1/24 dev eth0
 ip link set dev eth0 up

Перезапустите dhcp, вы должны быть в порядке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .