Домашний шлюз на Ubuntu

На русском форуме Ubuntu я уже устал читать каждый день одно и то же «Как расшарить инет в Убунту?», «Как сделать домашний шлюз?»… Люди видимо не хотят читать предыдущие ветки, а поиском пользоваться не умеют.

В общем попробую рассказать как просто и без геморроя вывести вторую машину в инет.

Условия:

  1. инет на Убунту машине уже настроен и работает.
  2. eth1 – сетевая карта, имеющая адрес 192.168.0.1 и смотрящая в домашнюю локалку.
  3. Домашняя локальная сеть имеет адрес 192.168.0.0/24 (Что такое /24 читаем здесь)
  4. Каким образом приходит инет на Ubuntu не важно.

Создаем скрипт в /usr/local/bin с именем «inet.up»:

#!/bin/sh

iptables -F
iptables -t nat -F

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -i eth1 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT

Теперь вписываем строку:

/usr/local/bin/inet.up

в файл «/etc/rc.local» перед строкой «exit 0″.

После этого прописываем на втором компьютере адрес 192.168.0.2/24, в качестве шлюза 192.168.0.1, в качестве DNS – IP адреса DNS-серверов провайдера.

Посмотреть адреса DNS можно в Ubuntu так:

cat /etc/resolv.conf

В принципе все. Простейшая раздача инета на Ubuntu готова. Хотя можно то же самое сделать и на другом дистрибутиве.

Поделиться этой заметкой с друзьями:

Добавь меня:

Вы можете оставить комментарий, или поставить трэкбек со своего сайта.

33 комментариев(я)

  • 15.12.2009 10:51, Silver Ghost сказал:

    Именно так.

    • 21.12.2009 12:20, dima сказал:

      поставил ubuntu 9.10 desktop, настроил инет, внутреннию сеть.
      ввожу правило, выдает ошибку
      root@fw-desktop:~# iptables -t nat -A POSTROUTING -i eth1 -s 192.168.0.0/24 -j MASQUERADE
      iptables v1.4.4: Can’t use -i with POSTROUTING

      Try `iptables -h’ or ‘iptables –help’ for more information.

      • 21.12.2009 12:41, Silver Ghost сказал:

        попробуй -o eth0

        • 21.12.2009 12:53, dima сказал:

          ошибку не выдал но и правило не добавилось
          root@fw-desktop:~# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
          root@fw-desktop:~# iptables -L
          Chain INPUT (policy ACCEPT)
          target prot opt source destination

          Chain FORWARD (policy ACCEPT)
          target prot opt source destination
          ACCEPT all — 192.168.0.0/24 anywhere
          ACCEPT all — anywhere 192.168.0.0/24

          Chain OUTPUT (policy ACCEPT)
          target prot opt source destination

          • 21.12.2009 12:57, Silver Ghost сказал:

            А правильную таблицу посмотреть?
            iptables -t nat -L

    • 27.12.2009 15:13, sensor_ua сказал:

      Недавно объявили об адресах публичных DNS-серверов Google – 8.8.8.8 и 8.8.4.4 – запомнить легко, поэтому вместо посмотреть адреса DNS, выданные провайдером, ставлю эти.

      • 30.01.2010 16:24, Михаил сказал:

        Огромное спасибо за такую статейку.
        Сегодня уже пол дня бьюсь с этим iptables и никак не мог победить из-за специфики получаемого на сервере интернета. А тут только ввел команды и сразу инет получился.
        Еще раз спасибо.

        • 24.06.2010 07:54, es1305 сказал:

          https://help.ubuntu.com/8.04/serverguide/C/firewall.html
          Всё разжевано, зачем изобретать велосипед?

          • 07.09.2010 18:08, kurtsvl сказал:

            kurtsvl
            firestarter ставь,не заморачивайся за минуту все настроиш

            • 12.03.2011 22:49, diamond00744 сказал:

              а у меня на хосте пропадает интернет при попытке включения сетевого адаптера, а на втором компьютере, который интернет получает, «без доступа к сети»

              • 23 старых комментариев не отображается. Нажмите, чтобы отобразить все.
              (Обязательно)
              (Обязательно, не публикуется)

              Пропала собака. yandex.ru не предлагать.