WHAT'S NEW?
Loading...

Настраиваем сеть в Ubuntu через консоль

В Этой статье подробно написано как настроить сетевые интерфейсы в операционной системе Ubuntu через командную строку, как написать bash-скрипт автоматической настройки сети и как сделать автозапуск скрипта.
Для настройки сети через консоль во всех Linux системах, включая Ubuntu, существует специальная команда ifconfig.

Если просто в терминале написать эту команду то консоль выдаст все сетевые интерфейсы, запущенные на этом компьютере. Это будет выглядеть примерно так.

eth0      Link encap:Ethernet  HWaddr 00:04:75:c1:e2:ab
          inet addr:10.2.10.32  Bcast:10.2.10.255  Mask:255.255.255.0
          ….
          ….
 
eth1      Link encap:Ethernet  HWaddr 00:04:75:c1:e2:6b
          inet addr:192.168.140.1  Bcast:192.168.140.255  Mask:255.255.255.0
          ….
          ….
 
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          ….
          ….
Первый столбик это имена интерфейсов, во второй настройки соответствующих интерфейсов. Команда ifconfig eth0 выведет настройки только интерфейса eth0.Для того чтобы отключить или включить интерфейс eth0 наберите соответственно команды.
sudo ifconfig eth0 down
sudo ifconfig eth0 up
Чтобы управлять интерфейсами, нужны права суперпользователя.
Чтобы менять настройки интерфейсов вводите команды следующего вида.
sudo ifconfig eth1 inet 192.168.140.1
поменять ip адрес интерфейса eth1 на 192.168.140.1
sudo ifconfig eth0 hw ether 00:12:34:56:78:90
поменяет мас адрес на 00:12:34:56:78:90
sudo ifconfig eth0 netmask 255.255.255.0
поменять маску подсети интерфейса eth0 на 255.255.255.0
Но сделанные таким способом настройки сбрасываются после перезагрузки компьютера.
Чтобы этого не происходил надо поменять настройки в конфигурационном файле сетевых интерфейсов, который находится /etc/network/interfaces У меня этот файл выглядит так.
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
 
# The loopback network interface
auto lo
iface lo inet loopback
 
# The primary network interface
auto eth0
iface eth0 inet static
        address 10.2.10.32
        #hwaddress ether 12:34:56:78:90:12
        netmask 255.255.255.0
        network 10.2.10.0
        broadcast 10.2.10.255
        gateway 10.2.10.1
        dns-nameservers 212.212.45.174
 
 
# The secondary network interface
auto eth1
iface eth1 inet static
       address 192.168.140.1
       netmask 255.255.255.0
Я думаю здесь всё понято. Адрес DNS сервера можно задать в файле /etc/network/interfaces , но вообще управление адресами DNS серверов в Ubuntu осуществляется через файл /etc/resolv.conf, синтаксис этого конфигурационного файла простой, допустим, у меня он выглядит так
nameserver 80.227.64.17
  nameserver 80.231.56.1
После изменения этих конфигурационных файлов перезагрузите сетевую службу командой
sudo /etc/init.d/networking restart
Если вы хотите получать сетевые настройки через DHCP, просто оставьте в файле /etc/network/interfaces строчку
auto eth0
iface eth0 inet auto
Обновление настроек через DHCP можно командой
dhclient
Для остановки или запуска сетевой службы используйтесь командой
sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start
Если посмотреть мой конфигурационный файл в настройках интерфейса eth0 строка меняющая mac адрес закомментирована. Это потому что если её не комментировать у меня сетевая служба не запускается с таким конфигом.
И чтобы менять mac адрес мне приходилось писать в консоли следующие команды.
sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 12:34:56:78:90:12
sudo ifconfig eth0 up
sudo /etc/init.d/networking restart
Почему это происходит я не знаю, но зато я знаю как писать bash-скрипты.
Я в папке /home/user создал файл mynetconfig и записал в него такой код
echo "########OTKLYCHENIE eth0#######"
sudo ifconfig eth0 down
 
echo "#####MENYAEM MAC ADRES#####"
sudo ifconfig eth0 hw ether 00:13:8f:cb:10:21
 
echo "########VKLUCHAEM eth0#########"
sudo ifconfig eth0 up
 
echo "####PEREZAGRYGAEM NETWORKING####"
sudo /etc/init.d/networking restart
echo "KONEC"
Теперь вместо этих строчек мне приходилась писать всего лишь одну команду /home/user/mynetconfig
Но и на этом я не остановился. Я скопировал файл mynetconfig в каталог /use/local/bin и теперь запускать скрипт могу просто командой mynetconfig.
Но и этого нам мало. Надо чтобы скрипт запускался автоматически при загрузки системы.
Чтобы добавить скрипт в автозагрузку, копируем скрипт в /etc/init.d/ , открываем консоль, переходим в /etc/init.d/ и выполняем следующую команду.
update-rc.d mynetconfig defaults 99
Небольшое пояснение:
mynetconfig - имя скрипта
defaults - выполнять на всех режимах загрузки от второго до пятого
99 - порядок загрузки
Чтобы удалить скрипт из автозагрузки перейдите в каталог /etc/init.d/ и выполните команду
update-rc.d -f mynetconfig remove
Так же есть другой способ добавить скрипт в автозагрузку, просто впишите имя скрипта в файл /etc/rc.local и удалите, если хоте убрать его из автозагрузки.
Первый способ сложнее, но предпочтительнее так как можно выбирать в каком режиме загрузки выполнять скрипт и в каком порядке, иногда это важно.

Источник

11 комментариев: Leave Your Comments

  1. Анонимный01 ноября, 2011 15:09

    Вы бы объяснили на пальцах...
    А то распугаете всех новичков...
    У меня есть пароль и логин, где их вбить чтобы был интернет?

    ОтветитьУдалить
  2. Новичкам я советую использовать Менеджер соединений как с ним работать можно прочесть здесь: http://ubuntu-favorite-os.blogspot.com/2011/11/ubuntu.html#more

    ОтветитьУдалить
  3. А можно написать скрипт и добавить его в автозагрузку,что бы после загрузки системы компьютер говорил ,,Здравствуйте,, Как это сделать?

    ОтветитьУдалить
  4. можно, открываем терминал и выполняем в нем:

    sudo apt-get install libnotify-bin

    после этого в этой же консоле вводите команду:

    notify-send 'Привет Ubuntu!'

    ОтветитьУдалить
  5. Анонимный17 июня, 2012 15:26

    а в XP я просто ставлю галочку на папке и всё.Реально задолбали эти конфиги.Юзал 4 года ubuntu до версии 12.04.Нихера ни чего не изменилось с тех пор.Даже ВИН 98 может больше чем УБУНТУ.И не надо мне говорить про безопасность.Просто не ставьте всё подряд.Юзаю Винду ХР уже год без антивируса и ничего.Правда через роутер.

    ОтветитьУдалить
  6. Анонимный03 июля, 2012 21:43

    прав Анонимный - как были пляски с бубном вокруг настроек , так и остались. В новом ядре так и не получили поддержки сетевые карты брендовых производителей типа Asus.
    Странно что в 10.04 скажем Asus 1000NX работала исправно , а в 12.04 вдруг требует шаманства в xnetcardconfig .
    Разрабы увлеклись созданием андроидо-мобильного интерфейса - для кого интересно ?
    Приверженцы винды и без того наровят и убунту пропатчить , чтобы напоминала семёрку ( есть такой знакомый - какой-то китайский патч влепил в убунту) .
    да и по времени загрузки вин 7 сейчас не уступает "красивой" убунте 12.04 .
    походу убунта теряет позиции быстрой оси , благодаря таким наворотам . да и эти полугодовые релизы больше напоминают недоношенных детей с признаками аутизма по количеству глюков.

    ОтветитьУдалить
  7. Прежде всего не стоит мешать все в кучу и валить с больной головы на здоровую, отсутствие драйверов это не вина Ubuntu, а постовщика оборудования в вашем случае Asus, ведь и для win7 майкрософт не делает драйверов, а использует те которые были разработаны поставщиком оборудования. Согласитесь не каноникал не майкрософт не в силах выпускать драйвера для всего оборудования выпускаемого в мире, это все же задача разработчиков оборудования. Что касается глюков и полугодовых выпусков, то вот чесное слово у меня за последние три года никаких глюков не было при том что работаю я на разных компах, а вообще существует LTS версии дистрибьютивов которые поддерживаются 5 лет, используйте их.

    ОтветитьУдалить
  8. Анонимный04 июля, 2012 21:05

    1. поставщик оборудования Asus ( интересовался поддержкой ноутбука в лине) ответил , что ему в принципе unix ОС в любом варианте до лампочки.
    2. ещё раз напомню , что в 10.04 LTS - данная карта поддержана. Странно , что в 12.04 дров не нашлось. И карта не старая.
    3. Я всего лишь поддержал мнение "Анонимный17 июня 2012 г., 15:26"
    ну а насчёт "каждому своё..." - только дома на трёх компах установлены убунта 12.04, OpenSuse 11.4 и OpenBricks Embedded Linux.
    Так и получается - каждой железяке подошло своё ПО

    ОтветитьУдалить
    Ответы
    1. 1. Значит у вас выбор или пользоватся ОС рекомендованной Asus или пользоваться оборудованием других производителей. Я например отказался от видеокарт ATI в пользу GeForce именно из-за отстающих версий драйверов.
      2. Что вас удивляет? У вас нет программ или игр которые отлично работали в XP и не работают в win7? Разумеется с каждым выпуском новой ОС более старый или редко используемые драйвера удаляются из дестрибьютива, но так делают все и майкрософт и эпл.
      3. Когда я писал фразу каждому свое, я имел ввиду что каждый выбирает себе то что ему больше нравится, ту систему с которой ему комфортнее работать, только и всего.

      Удалить
  9. Анонимный04 июля, 2012 22:05

    Александр , я похож на малолетку-гаммера (п.2)?
    И если серьёзно , то удивила сама деградация поддержки этой карты с каждой новой версией убунты. Руки есть - карта работает исправно во всех версиях.
    Для новичков я бы порекомендовал одновременно ознакомиться с Вашей статьёй от 1 ноября 2011 г.
    "Настройка интернета в Ubuntu для новичков"
    Там есть очень полезное замечание про DNS сервера.

    ОтветитьУдалить