Допустим, нужно подключить распу, к интернету через ноутбук.

Пусть:
eth0 — сетевой интерфейс на распе
enp2s0 — сетевой интерфейс на ноутбуке
192.168.5.1 — IP ноутбука
192.168.5.2 — IP распы

Способ 1. Самый лучший.

Работает, если установлен ifconfig и route. Самый нормальный рабочий способ. Остальные способы могут не работать.

На ноутбуке:

_x000D_ifconfig enp2s0 192.168.5.1 netmask 255.255.255.0_x000D_iptables -t nat -I POSTROUTING -s 192.168.5.0/24 ! -d 192.168.5.0/24 -j MASQUERADE_x000D_iptables -I FORWARD -o enp2s0 -j ACCEPT_x000D_iptables -I FORWARD -i enp2s0 -j ACCEPT

Разрешите forward на ноутбуке:

_x000D_echo 1 > /proc/sys/net/ipv4/ip_forward_x000D_echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf_x000D_sysctl -p

На распе:

_x000D_ifconfig eth0 192.168.5.2 netmask 255.255.255.0_x000D_route add default gw 192.168.5.1 eth0

Способ 2

Тоже работает, но с первого раза может не сработать. Используйте его, если нет ifconfig.

Сделайте на распе:

_x000D_ip address add 192.168.5.2/24 dev eth0_x000D_ip route add 192.168.5.0/24 dev eth0_x000D_ip route add default via 192.168.5.1_x000D_

Сделайте на ноутбуке

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

или пропишите в файле /etc/sysctl.conf

_x000D_net.ipv4.ip_forward = 1

и сделайте:

_x000D_sysctl -p

Выполните команды для Iptables на ноутбуке:

_x000D_ip address add 192.168.5.1/24 dev enp2s0_x000D_ip route add 192.168.5.0/24 dev eth0_x000D_iptables -t nat -I POSTROUTING -s 192.168.5.0/24 ! -d 192.168.5.0/24 -j MASQUERADE_x000D_iptables -I FORWARD -o enp2s0 -j ACCEPT_x000D_iptables -I FORWARD -i enp2s0 -j ACCEPT

Поидее интернет должен работать на распе

Способ 3

В новых версиях Ubuntu данный способ не работает. Вместо него нужно юзать Network Manager или Systemd Network. А жаль. Хороший был способ.

Задает статический IP адрес для распы. В файле /etc/network/interfaces пропишите:

_x000D_auto eth0_x000D_iface eth0 inet static_x000D_ address 192.168.5.2_x000D_ network 192.168.5.0_x000D_ netmask 255.255.255.0_x000D_ broadcast 192.168.5.255_x000D_ gateway 192.168.5.1

На ноутбуке, прописывать не рекомендуется, но можно:

_x000D_auto enp2s0_x000D_iface enp2s0 inet static_x000D_ address 192.168.5.1_x000D_ network 192.168.5.0_x000D_ netmask 255.255.255.0_x000D_ broadcast 192.168.5.255_x000D_ gateway 192.168.5.1

Способ 4

Через systemd. Systemd — это новая фича убунту, которая может управлять автозапуском приложений, есть менеджер сети, и резолвер ДНС. Имхо работает через одно место, как и весь systemd.

Включите systemd network:

_x000D_systemctl enable systemd-networkd.service_x000D_systemctl start systemd-networkd.service

Пропишите конфиг /etc/systemd/network/eth0.network:

_x000D_[Match]_x000D_Name=eth0_x000D__x000D_[Network]_x000D_DHCP=yes_x000D_RouteMetric=20_x000D__x000D_## to use static IP uncomment these instead of DHCP_x000D_#DNS=192.168.5.1_x000D_#Address=192.168.5.2/24_x000D_#Gateway=192.168.5.1_x000D__x000D_#Allow ip forward_x000D_IPForward=no

Перезапустите сервис:

_x000D_systemctl restart systemd-networkd.service