Приношу свои извинения, сообщение опубликовано не на том форуме, и я не знаю, как его удалить. Я думаю, что мне нужна помощь модератора, чтобы удалить это.
Вот ситуация: у меня есть несколько ноутбуков, которые я использую, включая подключение к общедоступным точкам доступа Wi-Fi, и у меня также есть общий Wi-Fi, где я живу, нокачество связи неприменимо в моей гостиной. У меня действительно есть Raspberry Pi, и кажется, что я должен быть в состоянии поставить Pi там, где он получает хорошее соединение Wi-Fi, и проложить кабель Ethernet к моей гостиной. Все ноутбуки, Pi, сетевой принтер и сканер, которые я иногда использую, имеют локальные 169.254.XX адреса. У меня есть один кабель Ethernet, который я подключаю по мере необходимости, и ноутбуки, Pi, принтер и сканер могут успешно взаимодействовать друг с другом. Ноутбуки и Pi также могут успешно подключаться к Интернету через Wi-Fi, где качество связи нормальное, кажется, они получают адреса 10.xxx, предположительно, по DHCP от точки доступа.
Я думаю, что Pi настроен правильноподелиться своим интернет-соединением. Результаты iptables-save:
# Generated by xtables-save v1.8.2 on Thu Nov 7 17:37:33 2019
*filter
:INPUT ACCEPT [1515:113666]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1508:4856596]
-A INPUT ! -i eth0 -p tcp -m multiport --dports 22,5900 -j DROP
-A FORWARD -p tcp -m multiport --dports 22,5900 -j DROP
-A FORWARD -p tcp -m multiport --sports 22,5900 -j DROP
-A OUTPUT ! -o eth0 -p tcp -m multiport --sports 22,5900 -j DROP
COMMIT
# Completed on Thu Nov 7 17:37:33 2019
# Generated by xtables-save v1.8.2 on Thu Nov 7 17:37:33 2019
*nat
:PREROUTING ACCEPT [9:618]
:INPUT ACCEPT [9:618]
:POSTROUTING ACCEPT [48:3521]
:OUTPUT ACCEPT [48:3521]
-A POSTROUTING -o wlan0 -j MASQUERADE
COMMIT
# Completed on Thu Nov 7 17:37:33 2019
(я не хочу, чтобы ssh или vnc были доступны из Интернета), cat / proc / sys / net / ipv4 / ip_forward показывает 1 и соответствующую частьиз ifconfig -a eth0 показывает:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.19.86 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::7dea:155c:88d7:f7da prefixlen 64 scopeid 0x20<link>
ether b8:27:45:be:3f:f4 txqueuelen 1000 (Ethernet)
Ноутбук не подключается к Интернету через Ethernet-соединение с Pi. Соответствующая часть ifconfig -a на ноутбуке показывает:
ens4 Link encap:Ethernet HWaddr 00:1e:21:73:5c:17
inet addr:169.254.218.18 Bcast:169.254.255.255 Mask:255.255.0.0
inet6 addr: fe80::9670:8210:6cc0:771a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Я думаю, что мне нужно дать ему адрес шлюза только для того, когда он соединяется через кабель Ethernet, выполненные мной поиски указывают, что мне нужно добавитьмаршрут с использованием команды ip, но все примеры изменений, которые, по их словам, я должен сделать, не соответствуют тому, что происходит на ноутбуке. В моем случае правило ip всегда показывает:
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
, но результаты того, что показывает маршрут ip, продолжают изменяться в зависимости от того, что подключено. При подключении к Pi и точке доступа он показывает:
default via 10.1.10.1 dev wls3 proto static metric 600
10.1.10.0/24 dev wls3 proto kernel scope link src 10.1.10.88 metric 600
169.254.0.0/16 dev ens4 proto kernel scope link src 169.254.218.18 metric 100
... но отдельные части этого исчезают при разрыве соединения.
Мне кажется, что какая-то другая частьсистемы контролирует маршруты. Я только начинаю узнавать об этом материале и не знаю, что искать дальше. Я также не знаю, можно ли это сделать, используя локальные адреса ссылок, но я бы действительно предпочел, чтобы это было так, поскольку это избавило бы меня от исследования, как изменить адреса принтера и сканера (и как восстановить, если я испорчу) и от изменения настроек в куче приложений. Я не хочу бросать какое-либо дополнительное оборудование в эту проблему и предпочел бы изучить, а не просто установить какой-то пакет, который исправляет все, ничего не объясняя. Ноутбук имеет Debian + LXDE и UFW с настройками по умолчанию. Любые рекомендации, пожалуйста? (И извинения за длинный пост).