У меня есть одноплатный компьютер, который я хочу подключить к локальной сети / Интернету. SBC не имеет порта Ethernet, только встроенный беспроводной чип, который в настоящее время не работает. Но у него есть USB, и я подумал, что его можно подключить через Ethernet через USB к моей рабочей станции, а затем выполнить какой-то мост / пересылку. Я' m с использованием Beagle Bone Black Wireless и (в настоящее время) Arch Linux ARM am33x в качестве «клиента». Рабочая станция - Fedora 23. Ethernet через USB работает, я могу подключиться к SBC по SSH. Однако мне не удалось получить доступ от SBC к моей локальной сети или Интернету.
Это позволяет мне подключаться к клиенту по SSH.
Конфигурация / Команды на клиенте:
modprobe g_ether
Конфигурация netctl:
Description='USB ethernet connection'
Interface=usb0
Connection=ethernet
IP=static
Address=('192.168.7.2/24')
DNS=('8.8.8.8')
#Gateway=('192.168.1.1')
## For IPv6 autoconfiguration
IP6=stateless
Конфигурация на рабочей станции:
ifconfig enp0s29u1u2 192.168.7.1
Я устал от этого для соединения двух интерфейсов ( enp0s29u1u2
- это Eth over боковой интерфейс USB и enp6s0
обращены к моей локальной сети, а также к Интернету); следующий код выполняется на Рабочей станции. Однако мне не удалось получить доступ от SBC к моей локальной сети или Интернету.
Это позволяет мне подключаться к клиенту по SSH.
Конфигурация / Команды на клиенте:
modprobe g_ether
Конфигурация netctl:
Description='USB ethernet connection'
Interface=usb0
Connection=ethernet
IP=static
Address=('192.168.7.2/24')
DNS=('8.8.8.8')
#Gateway=('192.168.1.1')
## For IPv6 autoconfiguration
IP6=stateless
Конфигурация на рабочей станции:
ifconfig enp0s29u1u2 192.168.7.1
Я устал от этого, чтобы соединить два интерфейса ( enp0s29u1u2
- это Eth over боковой интерфейс USB и enp6s0
обращены к моей локальной сети, а также к Интернету); следующий код выполняется на Рабочей станции. Однако мне не удалось получить доступ от SBC к моей локальной сети или Интернету.
Это позволяет мне подключаться к клиенту по SSH.
Конфигурация / Команды на клиенте:
modprobe g_ether
Конфигурация netctl:
Description='USB ethernet connection'
Interface=usb0
Connection=ethernet
IP=static
Address=('192.168.7.2/24')
DNS=('8.8.8.8')
#Gateway=('192.168.1.1')
## For IPv6 autoconfiguration
IP6=stateless
Конфигурация на рабочей станции:
ifconfig enp0s29u1u2 192.168.7.1
Я устал от этого для соединения двух интерфейсов ( enp0s29u1u2
- это Eth over боковой интерфейс USB и enp6s0
обращен к моей локальной сети, а также к Интернету); следующий код выполняется на Рабочей станции.
Мне надоело это для соединения двух интерфейсов ( enp0s29u1u2
- это интерфейс Eth через USB, а enp6s0
обращен к моей локальной сети, а также к Интернету); следующий код выполняется на Рабочей станции.
Я устал от этого, чтобы соединить два интерфейса ( enp0s29u1u2
- это интерфейс Eth через USB, а enp6s0
обращен к моей локальной сети, а также к Интернету); следующий код выполняется на Рабочей станции.
Я нашел это здесь: Маршрутизация между двумя сетями в Linux?
echo 1 >> /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i enp0s29u1u2 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
iptables --append FORWARD -i enp6s0 -o enp0s29u1u2 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables --append FORWARD -i enp0s29u1u2 -o enp6s0 -j ACCEPT
Сначала я оставил IP-адреса такими, какими они были 192.168.1.0/24
для локальной сети и 192.168.7.0/24
для сети Ethernet через USB. Но я не мог добраться до своего шлюза или чего-либо еще под моей рабочей станцией. Я также пытался дать Beagle Bone адрес 192.168.1. *
, что тоже не помогло. Я, наверное, что-то здесь упускаю. Может быть, маршрутизация?
Я также пытался установить мост между интерфейсами.
Конфигурация Netctl на beaglebone была настроена примерно так:
Description = 'USB ethernet connection'
Interface=usb0
Connection=ethernet
IP=static
Address=('192.168.1.210/24')
DNS=('8.8.8.8')
Gateway=('192.168.1.1')
## For IPv6 autoconfiguration
IP6=stateless
Команды (рабочая станция):
brctl addbr br0
brctl addif br0 enp6s0 enp0s29u1u2
ifconfig br0 192.168.1.202 (or some random free address)
Мне пришлось выполнить route add default gw 192.168.1.1
, чтобы восстановить доступ в Интернет на моей рабочей станции. Я тоже делал это на биглебоне,
разрабатывать. Я не уверен, но поскольку я понимаю сетевой мост, он должен вести себя так, как будто я только что подключил устройство к коммутатору Ethernet (то есть члены сети могут общаться, как если бы моста там не было; но, по-видимому, ему нужен отдельный ip, поэтому я немного запутался, дайте мне подсказку).
Требуется ли какая-то ручная маршрутизация для интеграции Beaglebone в локальную сеть и получения доступа в Интернет или что-то еще? Спасибо за любые подсказки! Также приветствуются обходные пути, поскольку я ищу временное решение.
У вас есть echo 1 >> / proc / sys / net / ipv4 / ip_forward
Но должно быть echo 1> / proc / sys / net / ipv4 / ip_forward
Шлюз закомментирован #Gateway = ('192.168.1.1')
в одной из ваших опций.
Вам нужно будет сделать ip route add default через 192.168.1.1
на одноплатном компьютере, поэтому он знает, куда отправлять интернет-трафик. (Где 192.168.1.1
- это IP-адрес устройства с включенным ip_forward
.)