Раздача Интернета с одного компьютера на другой (домашний вариант)
Инструкций уже много, в которых много всего написано, да так, что новички увидев это «многабукаф» закроют в ужасе. Попробую показать короткую инструкцию для раздачи Интернета для самого популярного случая с одного компьютера на другой, будь то Интернет через 3g-модем или PPPoE — не важно.
Исходные данные
Итак, что мы обычно имеем на дому?
Если у вас один из этих случаев, то инструкция для вас.
Считаем что инет висит на ppp0. Локальная сеть 192.168.0.0/24
Вместо ppp0 может быть eth0/1/2, wlan0 и т.п. Важно то, что мы знаем, что Инет приходит через этот интерфейс. Локальная сеть мб другой, поправьте под свой вариант или настройте свою сеть из 2-х компов как предложено здесь.
Настройка iptables
sudo su iptables -t nat -A POSTROUTING -o ppp0 ! -d 192.168.0.0/24 -j MASQUERADE iptables-save > /etc/iptables.up.rules echo "pre-up iptables-restore < /etc/iptables.up.rules" >> /etc/network/interfaces apt-get install bind9
Включили NAT, указав, что интерфейс с Инетом ppp0 и ему предназначены пакеты, не адресованные локальной сети 192.168.0.0/24
Можно обойтись без bind9. В этом случае на 2-м компе нужно будет указать те же IP DNS -серверов, что и на 1-м, либо просто указать гугловский DNS -сервер — 8.8.8.8
Включаем форвардинг (перенаправление пакетов)
находим и раскоментируем эту строку:
Чтобы изменения вступили в силу без перезагрузки ОС.
Всё, компьютер является шлюзом в Интернет. Для того, чтобы 2-й комп получил доступ в Инет нужно настроить сеть, указав шлюзом данный компьютер, в роли DNS -сервера выступает он же.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2018 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Как раздать интернет через USB-кабель?
Добрый день! Создавал тему в разделе mobile, но результатов 0. http://www.linux.org.ru/forum/mobile/8317727 Необходимо раздать интернет от компьютера на планшет через USB-провод планшета. ОС компьютера — Debian Lenny. Планшет — Ritmix (Android). Посоветовали usbnet, но как поставить его — непонятно. В системе модуля такого не нашёл, в репозиториях тоже нет. Может быть, кто знает решение задачи. Хотелось бы сначала попробовать так, прежде чем покупать wi-fi-роутер.
http://habrahabr.ru/post/101797/
Как-то так. После запуска usb teather у тебя должен появится еще один интерфейс скажем usbnet0 на твоем компьютере. Там можешь статику прописать. А дальше iptables маскардишь на него и все.
Спасибо, но мне бы пример с Linux)
Ну я объяснил как-бы. После того как появится интерфейс, работаешь с ним по привычному и делаешь все что душе угодно.
Я просто невнимательно прочитал эту статью ранее. Сейчас установил на планшете teather, запустил. Знать бы шаги, которые нужно делать далее..
Скрипт создал на планшете при помощи GScript Lite. Программу tether запускаю, запускаю скрипт. Пишет ошибки, примерно такие: stderr (not such device) stderr (not such device) stdin 172.20.23.253 not found Как я понимаю, на компе надо настроить теперь. Подскажите, что нужно прописать куда?
Лол
1. Запустил tether
2. Посмотрел в ifconfig добавился ли usbnet$, заодно глянул dmesg
3. Прописал для интерфеса статику 172.20.23.253 / 255.255.255.252 (тут необязательно так, но если ты делал по статье то пусть так и будет че)
4. Запустил gscript с ip адресом компа
5. Пинганул в android терминале, если пинг идет то
6. sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth$ -j MASQUERADE
Примерно так, подробней уже это слишком.
в том-то и дело, что в интерфейсах не появляется usbnet$ после включения tether
ifconfig выдаёт только 2 интерфейса: eth2 и lo
Смотри вывод dmesg, гугли usbnet относительно твоего планшета.
Еще можешь заюзать галочку teather по usb если она у тебя есть и если интерфейс появится, то потом как-бы и так очевидно что делать.
Раздача интернета с компьютера на Android через USB
Собственно сабж. Интернет мобильный тут очень дорогой и нет безлимитных тарифов, да и на компьютере интернет не быстрый, был бы быстрый — купил бы wi-fi роутер. Слышал вот о таком способе, но на Linux’e не пойму как такое сделать.
ОС на компьютере — Kubuntu, телефон — Samsung Galaxy Ace.
DLink DWA-140 или TP-LINK TL-WN821N/NC стоят порядка 500р, не вариант?
ИМХО, проще будет softAP поднять. Как конкретно — не подскажу.
без рута никак (рут нужен для смены default gateway) http://habrahabr.ru/post/101797/
Нет, я не собираюсь ничего покупать для такого медленного интернета. Оно того не стоит.
Очевидно же что это под M$ Шindows. Мне нужно тоже самое только под Linux.
А компьютер, часом, не ноутбук? Там нет Wi-fi?
backbone ★★★★★ ( 17.11.12 11:15:23 MSK )
Последнее исправление: backbone 17.11.12 11:16:05 MSK (всего исправлений: 1)
Ну тогда один путь. Получать Root на телефоне и прописывать ip, mask, gateway вручную.
Такс, Root умею получать, остальное не понимаю.
Анонимус ссылку подсказал http://habrahabr.ru/post/101797/. Пункт «Настраиваем коммуникатор». Это оно.
На компьютере настраивается netfilter: forwarding, nat; правил для iptables в сети много, к примеру у меня такие firewall.sh.
Ну что же, спасибо. Буду разбираться. 🙂
На компьютере настраивается netfilter: forwarding, nat; правил для iptables в сети много, к примеру у меня такие firewall.sh.
Я же новичок в этом. Ничего не понял.
Просто в том скрипте строки
EXTIF=eth0 INTIF=eth1 INTIF2=wlan0
EXTIF=ppp0 INTIF=usb0 INTIF2 можно вообще убрать, если раздаёте инет только по usb.
Запускать скрипт можно вручную (во время настройки), потом можно поместить в /etc/network/if-pre-up.d.
Что здесь первое и второе? Первое я так понимаю это подключение с которого раздается интернет что ли?
Ну EXT-внешний (провайдер), INT-внутренний(телефон). Запускать скрипт надо с правами root.
razip@Razip-Linux-Kubuntu:~$ sudo ./inet.sh [sudo] password for razip: Bad argument `ACCEPT’ Try `iptables -h’ or ‘iptables —help’ for more information. Bad argument `state’ Try `iptables -h’ or ‘iptables —help’ for more information. Bad argument `ppp0′ Try `iptables -h’ or ‘iptables —help’ for more information. Bad argument `ACCEPT’ Try `iptables -h’ or ‘iptables —help’ for more information. Bad argument `usb0′ Try `iptables -h’ or ‘iptables —help’ for more information. Bad argument `REJECT’ Try `iptables -h’ or ‘iptables —help’ for more information. razip@Razip-Linux-Kubuntu:~$
Вот выхлоп от запуска скрипта на компьютере. В чем проблема?
Если удалили строку INTIF2=. то удалять переменную $INTIF2 нужно отовсюду, так как она будет заменена пустой строкой.
#!/bin/sh EXTIF=ppp0 INTIF=usb0 # delete all existing rules iptables -F iptables -t nat -F iptables -t mangle -F iptables -X # Always accept loopback traffic iptables -A INPUT -i lo -j ACCEPT # Allow established connections, and those not coming from the outside iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -i $INTIF -j ACCEPT iptables -A INPUT -m state --state NEW -i $INTIF2 -j ACCEPT iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow outgoing connections from the LAN side iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT # Connect LANs iptables -A FORWARD -i $INTIF -o $INTIF2 -j ACCEPT iptables -A FORWARD -i $INTIF2 -o $INTIF -j ACCEPT # Masquerade iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE # Don't forward from the outside to the inside iptables -A FORWARD -i $EXTIF -o $EXTIF -j REJECT iptables -A FORWARD -i $EXTIF -o $INTIF -j REJECT # masked for ssh to LAN # MTU iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu echo 1 > /proc/sys/net/ipv4/ip_forward for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
Вот так вот? Поправьте пожалуйста. Я вам буду очень благодарен.
Да, но надо убедиться, что интерфейсы называются именно ppp0 и usb0.
/sbin/ifconfig ppp0; /sbin/ifconfig usb0
В Network Manager’е посмотрел названия, все верно. И консоль тоже подтвердила наличие.
В каком порядке выполнять действия?
- Программа Wired Tether.
- Скрипт для программы Gscript Lite.
- Скрипт на компьютере.
Скрипт на компьютере —> Программа Wired Tether —> Скрипт для программы Gscript Lite
В таком порядке выполнять?
Да, главное, чтобы Wired Tether была до Gscript Lite, иначе маршруты собьются. А на телефоне нет встроенной функции USB Tethering, что пришлось использовать доп. программу?
Wired Tether это как понимаю расшифровывается как — «телефон как модем»? Если так, то есть такая функция.
Да, поэтому Wired Tether не нужен, в настройках телефона достаточно включить эту функцию (возможно, каждый раз при включении кабеля).
Запустил скрипт из которого я убрал не нужное. Не работает. Видимо что то не так сделал. :с Не могли бы взять оригинал и выпилить от туда переменную INTIF2 а то мои знания Bash не позволяют это корректно сделать.