LINUX.ORG.RU

Раздача интернета через LAN

 , ,


0

1

Есть 2 компа. Комп №1 принимает интернет через wifi. Хочу его раздать с компа №1 на комп №2 транзитом через роутер. (lan кабель с раздающего компа подключен ко входу wan на роутере, а lan кабель принимающего компа подключен к гнезду lan на роутере)

Когда комп №1 под виндой раздача работает. Если раздавать из-под луникса, инета на компе №2 нет, хотя вроде все сделал по аналогии с виндой. Пинг на комп №2 идет, а инета нет.

Комп №1 (подключен к инету через wlan0):

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.77  netmask 255.255.255.0  broadcast 192.168.1.255
        ether b0:a7:b9:4b:7c:62  txqueuelen 1000  (Ethernet)
        RX packets 27953  bytes 28798649 (27.4 MiB)
        RX errors 0  dropped 486  overruns 0  frame 0
        TX packets 17752  bytes 3948522 (3.7 MiB)
        TX errors 0  dropped 4 overruns 0  carrier 0  collisions 0

С какими параметрами стартовать eth0 на компе №1, и с какими параметрами стартовать eth0 на компе №2, чтобы на втором был инет?

Пробовал eth0 запихать в ту же подсеть, что и wlan0, пробовал в другую подсеть. Максимум что только есть пинг с первого компа на второй..

★★

Могу ошибаться, но bridge wifi-eth0 на первом компьютере под linux должен решить проблему. Второй зачем трогать?! Он же после роутера. Проблема по описанию до роутера возникает.

вроде все сделал по аналогии с виндой

настройка сети от ОС не зависит (инструменты могут быть разные, по-разному управляться, настраиваться…), а суть та же. Посмотри как там в винде настроено, повторить под linux не должно быть проблемой.

master_0K ()
Последнее исправление: master_0K (всего исправлений: 1)
Ответ на: комментарий от master_0K

Посмотри как там в винде настроено

Вот ровно так и сделал, как описано в этой статье: https://gorodgeniev.ru/kak-s-noutbuka-razdat-internet-cherez-lan/

Все просто и прозрачно. По аналогии прописал параметры для eth0 под луниксом, но не работает. Единственная разница - под виндой ставится птичка на общий доступ к вайфай-адаптеру. Как и где это делать в линуксе - не знаю.

Chord ★★ ()
Ответ на: комментарий от master_0K

Всё в принципе вручную управляется. На раздающем компе:

LAN стартует при загрузке через скрипт в /etc/init.d/net.eth0. WLAN по-умолчанию не включен. И никак не взаимодействует с LAN. Обычно wifi не используется. Только когда нужен wifi (если отвалился кабельный интернет), выключаю LAN и запускаю WLAN вручную через ifconfig. На раздающем компе инет уже идет через wifi. И теперь я хочу стартануть eth0 чтобы раздать инет через LAN на второй комп.

На втором компе LAN также через запуск/перезапуск /etc/init.d/net.eth0

Вот и нужны параметры для обоих eth0, с которыми они могли бы работать.

Chord ★★ ()
Последнее исправление: Chord (всего исправлений: 1)
Ответ на: комментарий от Chord

Я вполне «пользователь»: у меня всё через GUI NetworkManager-а настраивается (поэтому и bridge вспомнил). Интернет подсказывает, что достаточно настроить iptables – но тут я скорее мешать буду, чем помогу. Ссылка просто пример. (Для себя эту сохранил – мне такое описание больше нравится)

master_0K ()
Последнее исправление: master_0K (всего исправлений: 2)
Ответ на: комментарий от Chord

Вот и нужны параметры для обоих eth0, с которыми они могли бы работать.

Параметры eth0 тут не то чтобы совсем не при чём, но ты не в ту сторону думаешь. Твой комп, который раздаёт интернет на другие компы (даже если он всего один) должен быть фактически роутером: то есть перенаправлять трафик с eth0 на wifi и наоборот. Надо думать в сторону iptables/nftables/хрен-знает-что-там-у-тебя; гуглить слово masquerading; и, возможно, на раздающем компе запустить dhcp-сервер (например, dnsmasq).

Больше я тебе вряд ли что скажу, т. к. я админ локалхоста и дистрибутивов, отличных от моего, не знаю; а, судя по твоим высказываниям, дистрибутивы у нас разные.

debugger ★★★ ()
Ответ на: комментарий от Chord

Единственная разница - под виндой ставится птичка на общий доступ к вайфай-адаптеру. Как и где это делать в линуксе - не знаю.

В графических настройках соединения, имеющего прямую связь с интернетом (у тебя wifi) -
«Параметры» – «Сетевые соединения» –
«Параметры IP4» – «метод: Общий с другими компьютерами»

Вот статья (тебе нужен 2-й вариант - раздача инета на компе с Линуксом) - https://ru.d-ws.biz/articles/icsLinuxAndWindows.shtml

Это называется форвардинг (перенаправление пакетов из одной сети в другую)
Если настраивать в консоли - в файле /etc/sysctl.conf
net.ipv4.ip_forward=1

sigurd ★★★★★ ()
Последнее исправление: sigurd (всего исправлений: 3)

debian8 (Да, всё ещё), ядро 4.4, так что я совсем не уверен, что iptables у вас ещё не выпилен. При старте (через /etc/rc.local) отдаются команды:

iptables -F
iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE
iptables -A FORWARD -i usb0 -o usb0 -j REJECT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Суть в том, что интерфейс usb0 становится шлюзом и на него транслируются пакеты с других интерфейсов. К сожалению я почти никак понимаю логику данны заклинаний, просто взял их лет 7 назад из какой то статьи. Да, при простом поднятии интерфейсов ничего этого не применяется и раздача инета между карточками не работает.

kirill_rrr ★★★★★ ()
Ответ на: комментарий от sigurd

в файле /etc/sysctl.conf net.ipv4.ip_forward=1

О, точно. У меня тоже прописано.

З.Ы. чёртов метод «настроил и забыл»...

З.З.Ы. А ещё кажется это всё значит, что ipv6 лучше игнорировать, а то не дай бог пакеты по умолчанию пойдутчере знего, а там аналогичного правила нету.

kirill_rrr ★★★★★ ()
Последнее исправление: kirill_rrr (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.