Как пересылать пакеты между двумя интерфейсами?

Как пересылать пакеты между двумя интерфейсами?

Мой ноутбук (использует Ubuntu 13.10) подключен к Интернету с помощью проводного соединения с eth0IP 192.168.42.13, и он также действует как wifi hotspotточка доступа wlan0с IP 192.168.1.1(я использовал airbase-ng для настройки точки доступа). Теперь у меня есть устройство Android, которое нужно подключить к этому Wi-Fi. Я вижу, что мой Android может подключиться к hotspotи получить следующие сетевые настройки с dhcpсервера, который я настроил. (Я использовал инструмент вызоваЧистая информация IIиз PlayStore, чтобы увидеть следующую информацию на моем Android).

# My android network settings (connected to the wlan0 of my laptop):
ip address: 192.168.1.10
subnetmask: 255.255.255.0
gateway   : 192.168.1.254
ap-mac    : xx:xx:xx:xx:xx:xx

# My pc's eth0 configuration
ip address: 192.168.42.13
submetmask: 255.255.255.0
gateway   : 192.168.42.129
iface mac : yy:yy:yy:yy:yy:yy

# My pc's wlan0 (hotspot interface) configuration
ip address: 192.168.1.1
subnetmask: 255.255.255.0
gateway   : 192.168.1.1
iface mac : zz:zz:zz:zz:zz:zz

Эта темаздесьговорит о похожей проблеме. Я вижу, что мне нужно пересылать пакеты между eth0и wlan0сетью, чтобы подключить устройства моей беспроводной точки доступа к интернету. ТеперьКак переслать полученные пакеты wlan0 to eth0и eth0 to wlan0подключить мое устройство к Интернету?

решение1

Сначала вам нужно включить IP-пересылку в вашей системе. Чтобы сделать это только один раз, используйте

sysctl -w net.ipv4.ip_forward=1

или

echo 1 > /proc/sys/net/ipv4/ip_forward

как root. Если вы хотите сделать его постоянным, отредактируйте

/etc/sysctl.conf

и добавьте строку, содержащую

net.ipv4.ip_forward = 1

Это будет применено при перезагрузке или при запуске

sysctl -p /etc/sysctl.conf

После этого вам, вероятно, понадобится NAT-подключения, так как ваш маршрутизатор вряд ли знает, что сеть 192.168.1.0/24 доступна через 192.168.42.13. Если 192.168.42.13 статический, вы можете использовать

iptables -t nat -A POSTROUTING -i wlan0 -s 192.168.1.0/24 -j SNAT --to-source 192.168.42.13

в противном случае используйте

iptables -t nat -A POSTROUTING -i wlan0 -s 192.168.1.0/24 -j MASQUERADE

ПроверитьUbuntu IptablesHowToкак сохранить эти правила при перезагрузке.

Связанный контент