Версия Раздача интернета от ср, 06/20/2007 - 21:55
Предположим, что у вас есть машина, подключенная к интернету и требуется раздать его на другие компьютеры.
Интернет ------> |пк1 (шлюз)| --->пк2(свитч)..и т.д
Исходные данные:
Оба компьютера соединены по сети.
На пк1 установлено 2 сетевые карты:
- eth0 - к ней подключен интернетeт
- eth1 - к ней подключена локальная сеть
Настройте вторую карту (eth1) так:
IP: 192.168.0.1
Netmask: 255.255.255.0
или введите в консоли:
#ifconfig eth1 192.168.0.1 netmask 255.255.255.0 #ifconfig eth1 up
Разрешите направление пакетов. Чтобы сделать это, отредактируйте /etc/sysctl.conf: вставьте строчку
net.ipv4.ip_forward=1
Установите iptables, введите следующее правило (для передачи интернета второму компьютеру) и сохраните его.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Установите и запустите dnsmasq
Установите на втором компьютере:
IP: 192.168.0.2
Netmask/Маска: 255.255.255.0
Gateway/Шлюз: 192.168.0.1
DNS: 192.168.0.1
Второй компьютер теперь должен быть подключён к интернету.
Если после перезагрузки правила iptables не восстанавливаются, добавьте
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
в любой стартовый скрипт
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
- 64401 просмотр


Комментарии
Замечание
> Разрешите направление пакетов. Чтобы сделать это, отредактируйте /etc/sysctl.conf:
По-моему куда проще сделать так:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Это работает в любом дистрибутиве.
> Перезапустите сеть, или перезагрузитесь.
Это, конечно, очень простое решение, но ведь что начинающие подумают? Даже в Windows перезагрузка не требуется, а тут в надежной серверной ОС - "перезагрузитесь"...
1)
1) http://easylinux.ru/node/172
2) "или" ;)
зофиксил 2
зофиксил 2
Доброго
Доброго времени суток.Стыдно признаться не осилил.Имею именно такую конфигурацию.На пк1 под управлением Ubuntu 7.10 desktop установлено 2 сетевые карты:
* eth0 - к ней подключен интернетeт
* eth1 - к ней подключена локальная сеть
На пк2 установлена WindowsXP Pro SP2.Сетевая карта имеет следующую конфигурацию:
IP: 192.168.0.2
Netmask/Маска: 255.255.255.0
Gateway/Шлюз: 192.168.0.1
DNS: 192.168.0.1
Требуется раздать интернет на пк2.
Трудности - не смог на пк1 настроить вторую сетевую карту( IP: 192.168.0.1 Netmask: 255.255.255.0),отредактировать /etc/sysctl.conf,т.к. не имею опыта работы в Линуксе.
Если не трудно опишите раздачу Интернета для чайника более детально.
Пы.Сы.Локальную сеть настроил,осталось раздать интернет на пк2
дистрибутив?
дистрибутив?
Попробуйте...
Как я понимаю, проблем со вторым компьютером нет - только с первым. Тогда:
root@pc1: ifconfig eth1 192.168.0.1 # Настраиваем вторую сетевую карту.
root@pc1: iptables -t nat -A POSTROUTING -c eth0 -j MASQUERADE # Пишем правило для раздачи интернета.
root@pc1: echo 1 > /proc/sys/net/ipv4/ip_forward # Включаем IP forward.
Все это, правда, не восстановится после перезагрузки компьютера. Но там уже видно будет.
Спасибо за
Спасибо за быстрые ответы.Но пока не удаётся раздать интернет.
Дистрибутив Ubuntu Gutsy Gibbon.Для соединения с пк2 выполняю следующую
Далее подключаюсь к серверу...см. рис. http://i003.radikal.ru/0801/0c/28566396acc9.png
На пк2 расшариваю папки.Далее на пк1 захожу в директорию /etc и пытаюсь отредактировать
файл sysctl.conf - а именно раскоментировать вот эту строку:
На что следует ответ "Не удаётся сохранить файл etc/sysctl.conf Недостаточно прав для сохранения файла.
Убедитесь в правильности введённого адреса и попробуйте ещё раз."
На этом настройка раздачи интернета у меня упирается в тупик.
> Недостаточно прав
Естественно, что для редактирования файлов в /etc нужны права root'а, а вы, скорее всего, пытаетесь редактировать от имени простого пользователя. В Ubuntu любому приложению можно дать такие права, запустив его с sudo:
sudo vim /etc/sysctl.conf
Если вам непонятен Vim - попробуйте точно так же запустить свой любимый гуёвый текстовый редактор, дав ему полномочия рута. Например:
sudo kwrite /etc/sysctl.conf
QIP на скриншоте. Gnome. Opera. Ubuntu. Чур меня. Да, и причем тут соединение с самбой?
Вам следует
Вам следует ознакомится с этим: http://easylinux.ru/node/131
Спасибо с
Спасибо с правами разобрался.Отредактировал /etc/sysctl.conf.Далее выполняю вышеуказанные команды,однако интернет не раздаётся :0(
Самба тут не
Самба тут не причом,просто хотел показать что локальная сеть живая,в смысле работает
ну а тут хозяин барин!
Всем
Всем спасибо))Конфигурация,описанная в этой статье заработала после этого
хе хе! - ваш
хе хе! - ваш выход в интернет не eth0 а ppp0 ;)) там же пример приведен.
спасибо
спасибо большое за статью, все заработало, вот только подскажите как добавить команду в стартовый скрипт, нада ли что то дописывать и не опасно ли это, заранее спасибо
зависит от
зависит от дистрибутива. по идее iptables при выключении должны выполнить сохранение. можете сделать его вручную, с помощью iptables save
По пунктам
> нада ли что то дописывать
Не обязательно, если о функции сохранения правил позаботились разработчики дистрибутива
> не опасно ли это
Не более, чем любая другая правка конфигурационных файлов.
> как добавить команду в стартовый скрипт
В Debian'е они (стартовые скрипты) находятся в /etc/init.d/. Затем в папки /etc/rcX.d/ добавляются симлинки на них, чтобы они запускались автоматически при том или ином режиме загрузки.
Лично меня нифига не вдохновил стандартный дебиановский формат скриптов, поэтому я тупо записал правила в файл, сделал ему chmod +x и засунул в /etc/ini.d/, а потом создал симлинк на них: ln -s /etc/init.d/iptables /etc/rc2.d/S10iptables.
man update-rc.d ;)
man update-rc.d ;)
спасибо, вот я
спасибо,
вот я просто написал nano /etc/init.d/networking и
добавил строку iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
до строчки exit 0
но инет на втором компе после перезагрузки первого включается только полсле того как эту строчку снова прописыва в терминале
на команду iptables save пишет что такой команды нету. И вот свой скрипт если писать просто написать nano .... и сохранить сделать chmod и симлинк? или я чего то не понимаю?
Все,
Все, разобрался, у меня что бы инет работал и после перезагрузки нада было вписать еще и
sysctl -w net.ipv4.ip_forward="1" в загрузочный скрипт.
в общем в файл /etc/init.d/networking перед строкой exit 0 вписал
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
в итоге конец файла выглядет так:
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
exit 0
еще раз огромное спасибо за статью
вообще в статье
вообще в статье есть про /etc/sysctl.conf
этот файл конфигурации sysctl заргужается при запуске системы
Всем.
ОС - Федора 9. Сделал все как описывалось в этом руководстве!
eth0 - к ней подключена сетка( раздается инет и сеть по DHCP)
eth1 - 2 сетевая с настройками :
IP: 192.168.0.1
Netmask/Маска: 255.255.255.0
2 комп ОС- Cent OS. На этот комп хочу раздать и сеть и инет!
сделал настройки сетевухи:
IP: 192.168.0.2
Netmask/Маска: 255.255.255.0
Gateway/Шлюз: 192.168.0.1
DNS: 192.168.0.1
соединил это все кроссовым кабелем и в итоге компы друг друга увидели.
Что надо сделать что бы 2 комп ходил в инет?
зы. Я нуб в линухе! Вот только только делаю первые шаги. Так что не судите сильно, лучше помогите плз!
ДНС?
а на первом компе (192.168.0.1) есть DNS сервер? пропишите на втором компе ДНС провайдера - может полегчает.
почти..
чуть чуть переделал.
2 компа.
1 комп- под Cent Os
2 сетевые.
Одна смотрит в инет( инет приходит от DHCP):
Вторая смотрит в сеть:
ip:192.168.1.1
2 комп- под Сеnt Os
192.168.1.2
255.255.255.0
gateway 192.168.1.1
На перовом компе все настроено верно. Форвардинг включен. Сеть раздается на второй комп. Второй комп пингует и себя и комп№1( пингуется и адрес сетевой которая смотрит в сеть и адрес провайдера и адрес полученный по DHCP.
Но вот проблема. Не могу пингануть не чего в инет со второго компа.
ping ya.ru
unknown host.
Я так понимаю проблема в прописании DNS на втором компе. Подскажите где прописывать DNS! Какой днс надо указывать. Я пробывал в resolv.conf прописывать...некотрые адреса первого компа( и адрес полученый по DHCP и адрес сетевой(192.168.1.1) не чего не помогло.
Помогите! Куда что вписывать. Подскажите плиз где точно надо искать. Прошу не указывать на маны и гугл ибо там путного не чего нету. Все выеживаются и посылают к манам и гуглу.
в /etc/resolv.conf прописать
в /etc/resolv.conf прописать DNS сервера провайдера
почти..
Решение оказалось не такое простое. Мало того что нужно поковырять named то и nat тоже надо было править. В общем zeus спасибо за совет. Вроде все заработало но, как только ребут сразу надо все правила заново выставлять.
проблема с ppp
сеть из компьютера и ноутбука,
на компе Puppyrus Linux и 2 сетевые карты
eth0 связана с провайдером адрес 10.1.101.*
eth1 с ноутом под Виндоус ХР. Адрес компа 192.176.0.1,ноута 192.176.0.2
Выход в интернет через ррр0 интерфейс.
Вводил в консоль
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
но результата нет. Ноут пингует все 3 сетевых интерфейса по ип и даже впн сервер провайдера однако в интернет не выходит. В /etc/resolv.conf днс прописаны верно. Где еще проверить? И на ноутбуке что вводить в качестве шлюза и DNS?
на ноуте в качестве шлюза
на ноуте в качестве шлюза куказать ip eth1 венды, а в качестве DNS - адреса провайдера.
вроде все делаю,как тут
вроде все делаю,как тут написано,а результата нет((
Ситуация следущая:
есть машина с Ubuntu 9.04. Интернет подключен через ADSL модем.
В моем компе есть еще одна сетевка, через которую подключен второй компьютер с Windows XP. Его нужно подключить к инету через мою машину.
В случае с виндой проблем нету:
1.На своей сетевке прописываю 192.168.0.1
2.На втором компе прописываю 192.168.0.2 и 192.168.0.1 - как шлюз и днс сервер.
3.После создания на своем компе "высокоскоростного подключения", в его настройках во вкладке "дополнительно" разрешаю "другим пользователям сети подключение к инету" через сетевую карточку, по которой 2 машины свзаны друг с другом. После этих манипуляций на втором компе автоматически появляется шлюз,через который он и ходит в инет.
Что делаю:
eth1 - к ней подключен интернетeт
eth0 - к ней подключена локальная сеть
Настраиваю карту eth1:
sudo pppoeconf
в настройщике pppoe подключения везде отвечаю "да", ввожу логин, пароль.
после этого комп заходит в инет.
Настраиваю карту eth0:
sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0
sudo ifconfig eth0 up
Разрешаю направление пакетов:
Раскоментировал в /etc/sysctl.conf строчку
net.ipv4.ip_forward=1
Устанавливаю iptables, ввожу правило для передачи интернета второму компьютеру:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
На виндовой машине прописываю:
IP: 192.168.0.2
Netmask/Маска: 255.255.255.0
Gateway/Шлюз: 192.168.0.1
DNS: 192.168.0.1
В итоге: обе машины пингуют друг друга и с моего компа ходит в инет. А из под винды нет доступа в интернет
Кстати присваю eth0 ip и шлюз, и через некоторое время карточка теряет настройки.
подскажите как автоматизировать
Настроил раздачу интернета по этой статье всё замечательно работает.
После включения "компьютера маршрутизатора" приходится запускать данные комманды:
sudo sysctl -w net.ipv4.ip_forward="1"
sudo iptables -t nat -A POSTROUTING -o Wlan0 -j MASQUERADE
для чего нужно заходить на компьютер маршрутизатор и вводить пароль.
в файле прописывал на автозапуск но безрезультатно :(
Так вот вопрос:
Как сделать так чтобы просто включив компьютер, после загрузки и без участия человека он начал раздавать интернет.( компьютер-маршрутизатор стоит в комнате начатьника без монитора. и таскаться с монитором каждое утро к нему и делать настройки несерьёзно.)
второй момент. если при включении компьютера или разрыве связи с интернет соединением воткнут сетевой кабель в сетевушку ведущую в локальную сеть интернет сразу же пропадает. как только выдергиваем сетевой шнур из сетевушки ведущей в локальную сеть интернет сразу начинает работать(как будто соединение подхватывает шлюз по умолчанию из локалдьной сети)
заранее спасибо
покласть в rc.local без sudo
покласть в rc.local без sudo
не получилось
прописал следующим образом:
sudo gedit rc.local
в файл забил вот эти строчки
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o Wlan0 -j MASQUERADE
после перезапуска ничего не изменилось. всё так же не работает пока не пропишу эти строчки в коммандной строкею
пропишите с полными путями
пропишите с полными путями iptables
sysctl в конфиг:
http://easylinux.ru/node/172
следующая попытка
итак:
прописал
sudo gedit /etc/sysctl.conf
добавил в пустой открывшийся файл
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o Wlan0 -j MASQUERADE
после перезагрузки изменений не последовало.
не знаю что значит прописать с полными путями iptables.
после перезагрузки
после перезагрузки и до ввода команд введите
и
вывод сюда
результат
sanchos@34:~$ sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
sanchos@34:~$ iptables -L -t nat
iptables v1.4.0: can't initialize iptables table `nat': Permission denied (you must be root)
Perhaps iptables or your kernel needs to be upgraded.
sanchos@34:~$ sudo iptables -L -t nat
[sudo] password for sanchos:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
интернет на второй машине появился только после прописания в коммандной строке
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
wlan0 - беспроводной
wlan0 - беспроводной интерфейс?
wlan0 беспроводной. по нему
wlan0 беспроводной. по нему компьютер- маршрутизатор получает интернет из дома стоящей точки доступа которая в свою очередь подключена витой парой к коммутатору в который воткнуто несколько домашних компьютеров и адсл модем. а в локальную сеть идёт уже через обычный ethernet адаптер.
Ну вот и проблема
Ну вот и проблема выяснилась:
В процессе загрузки сначала поднимается iptables, восстанавливаются его правила. В этот момент wlan0 не существует, и правила не загружается (ошибка). Потом поднимается wlan0.
Вам нужно вставить добавление правила в стартовый скрипт wlan0
подскажите пожалуйста как это
подскажите пожалуйста как это сделать.
как найти файл в который нужно прописать правило для беспроводного интерфейса и какое правило нужно прописать?
подскажите пожалуйста как это
подскажите пожалуйста как это сделать.
как найти файл в который нужно прописать правило для беспроводного интерфейса и какое правило нужно прописать?
dnsmasq
а без этого я так понял ничего работать не будет Как решить?
меня вот тоже интересует этот
меня вот тоже интересует этот вопрос!!! делаю всё как написано, а эффекта полный ноль. На втором компе, которому пытаюсь дать инет, есть некие потуги грузить страницы и не более. Я так понимаю что по этому мануалу только у единиц получается всё настроить.
Может в конце концов написать как правильно настроить раздачу интернета.
наконец то разобрался! Люди
наконец то разобрался! Люди ставьте firestarter и будет вам счатье. )))
То же самое, но 3 компа
Доброго всем!
Система Fedora 11, 3 сетевых адаптера (1 (eth0) на материнке + 2 писиай). Делила нет для ноутбука под виндовс. Всё работало. Пытаюсь настроить то же самое и для ноубука с Ubuntu - виндовс по-прежнему работает, а со вторым ноубуком никак не получается. Вот конфигурация:
ifconfig eth0 Link encap:Ethernet HWaddr 00:0F:EA:22:A0:2C inet addr:192.168.0.203 Bcast:192.168.1.255 Mask:255.255.254.0 inet6 addr: fe80::20f:eaff:fe22:a02c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:38414 errors:0 dropped:0 overruns:0 frame:0 TX packets:12638 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:9915261 (9.4 MiB) TX bytes:2486235 (2.3 MiB) Interrupt:19 Base address:0xe000 eth1 Link encap:Ethernet HWaddr 00:80:48:2E:43:9C inet addr:192.168.2.20 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::280:48ff:fe2e:439c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4137 errors:0 dropped:0 overruns:0 frame:0 TX packets:4532 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:608677 (594.4 KiB) TX bytes:3252098 (3.1 MiB) Interrupt:18 Base address:0x8000 eth2 Link encap:Ethernet HWaddr 00:40:F4:98:DB:E9 inet addr:192.168.2.40 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::240:f4ff:fe98:dbe9/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:67 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2807 (2.7 KiB) TX bytes:14226 (13.8 KiB) Interrupt:19 Base address:0xa000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:51 errors:0 dropped:0 overruns:0 frame:0 TX packets:51 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:4100 (4.0 KiB) TX bytes:4100 (4.0 KiB)Люди добрые! Помогите!
Все так же
подскажите как это сделать
Установите iptables, введите следующее правило (для передачи интернета второму компьютеру) и сохраните его.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
где находится этот iptables весь день ищу не судите строго
sysctl.conf нашел снял этот значок #
оставил net.ipv4.ip_forward=1
потом зашел в терминал и выполнил sysctl -w net.ipv4.ip_forward="1"
а где редактировать или командой вводить подскажите если не трудно
СПАСИБО ЗАРОБОТАЛО НАДО БЫЛО
СПАСИБО ЗАРОБОТАЛО НАДО БЫЛО ПРОСТО НА СЕТЕВУХЕ АИНДЫ DNS ПРОВАЙДЕРА НАПИСАТЬ
блин, понимаю что уже все
блин, понимаю что уже все разжевано, но тем не менее...все прописал, машины друг друга пингуют, 2я пингует и ip ppp0 соединения. DNS провайдера на 2й машине вписать не могу, как у вышесказавшего, т.к. не знаю его...все автоматом раздается. Помогите плиз...уже сколько дней мучаюсь...столько форумов пересмотрел и ничего не получается..
разобрался
все работает, только реально на 2й машине DNS провайдера надо было вписать..DNS посмотрел из под винды командой ipconfig /all так как незнаю как на линухе смотреть))))) всем спасибо.
Друзья плз помогите...я вобще
Друзья плз помогите...я вобще новичек в centos , но дело такое...я поставил все как сверху сказано ,и почему то интернета нет Но если пинговать через ip то пинг идет...в чем дело? я узнал что надо вроде днс разрешение сделать...но куда и че писать ни чего не пойму... инет идет через eth0 и eth1 должен вроде раздовать ....