В этой заметке будет рассказано как с помощью iptables настроить системы с Ubuntu и Debian для раздачи интернета другим компьютерам локальной сети. На простом примере будет показано как машину с двумя сетевыми интерфейсами (в один поступает интернет, из другого — «выходит») сделать шлюзом.
Настроить этот функционал через веб-интерфейс можно с помощью Webmin, через графический интерфейс – с помощью GAdmintools. Но мы рекомендуем настраивать шлюз напямую, а не через сторонние утилиты.
Допустим, что аппаратно-сетевая часть уже полностью настроена, на вашей машине имеются работоспособный интернет и вы видите другие компьютеры сети. Поэтому давайте разберемся что к чему, для этого введем команду:
ifconfig
(с Debian 9 эта команда устарела, используйте ip a
вместо нее)
Она выдаст список работающих в данный момент сетевых интерфейсов. Среди них надо опознать те, что начинаются со слов «Link encap:Ethernet» — это интерфейсы сетевых карт. Как правило, это eth0 и eth1.
Теперь потребуется опознать в какой из них поступает интернет, а из какого «выходит». Проще всего это сделать по их ip-адресам.
Итак, допустим через eth0 вы получаете интернет (например через adsl-модем по протоколу ppp), а eth1 связывает вас с локальной сетью.
Если локальная сеть настроена через Network Manager, то мы рекомендуем прописать эти настройки непосредственно в системном конфигурационном файле сети:
sudo nano /etc/network/interfaces
Здесь исправьте настройки вашего сетевого интерфейса, подключенного к локальной сети (в нашем случае eth1), соответствующим образом:
auto eth1
iface eth1 inet static
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
Значение address — это айпи вашей машины в локальной сети, по этому адресу собственно и будет располагаться шлюз.
Значение netmask — в локальных сетях для этого диапазона чаще всего такая. Для других диапазонов можно вычислить здесь.
Значения network и broadcast будут зависеть от вашего адреса. То есть, если ваш локальный ip — 10.0.0.10, то network и broadcast будут 10.0.0.0 и 10.255.255.255 соответственно.
Либо, это можно проделать всего одной командой:
sudo ifconfig eth1 192.168.0.10
Эта команда самостоятельно настроит вашу сетевую карту eth1 на использование статичного айпи-адреса, и самостоятельно пропишет описанные выше настройки в файл /etc/network/interfaces
В любом случае, после этих изменений перезапустите networking:
sudo /etc/init.d/networking restart
Командой:
ifconfig
(ip a
)
проверьте, что изменения вступили в силу и все работает.
Теперь осталось дело за малым. В случае если вы уже пытались настроить вашу систему шлюзом, но у вас не получилось или по каким-то другим причинам вы желаете обнулить все настройки файрвола iptables, то это можно сделать следующими командами:
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
Если прямой необходимости в сбросе настроек iptables нет, то лучше этого не делать.
Следующие команды настроят ваш iptables для NAT-трансляции (NAT, Network Address Translation — «преобразование сетевых адресов») через Ubuntu-шлюз:
sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
Если необходимые вам сетевые интерфейсы отличаются от eth0 и eth1, то просто измените первую строку соответствующим образом.
Если ваша локальная сеть находится вне диапазона 192.168.x.x, то маску подсети для указания в первой строке вы сможете легко вычислить через сервис Network Calculators.
Теперь для конфигурации gateway’я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
И последний штрих: надо отредактировать файл sysctl.conf:
sudo nano /etc/sysctl.conf
Добавьте в него вот эти две строки для активации роутинга:
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
В Debian 9 достаточно добавить (раскомментрировать) всего одну строку:
net.ipv4.ip_forward=1
После этого ваш интернет-шлюз готов к работе. Можете настраивать клиентские машины. На нашем примере для них gateway будет 192.168.0.10
Если все внесенные вами изменения работают корректно и вы желаете внести эти настройки в автозагрузку (а именно, вышеприведенные настройки iptables теряют активность после перезагрузки системы), то сохраните нынешнюю рабочую конфигурацию iptables в файл командой:
sudo sh -c "iptables-save > /etc/iptables.up.rules"
После этого в сам файл сетевых настроек /etc/network/interfaces (sudo nano /etc/network/interfaces
) к параметрам вашего сетевого интерфейса, например, из которого к вам поступает интернет (в нашем случае – это eth0) добавьте строку:
pre-up iptables-restore < /etc/iptables.up.rules
То есть оно станет примерно такого вида:
auto eth0
iface eth0 inet manual
pre-up iptables-restore < /etc/iptables.up.rules
Только не меняйте значения в строке iface, просто добавьте указанную строку последней в разделе auto eth0 (ну или какого-то другого сетевого интерфейса). После этого при перезагрузке сохраненные настройки iptables будут подниматься автоматически.
Если вы хотите добавить к этому автоматическую раздачу адресов (dhcp) и прокси, то воспользуйтесь для этого, например, вот этой инструкцией.
Спасибо, работает. Как открыть интернет для второго компа, это возможно по этой инструкции?
Да, Ник, конечно. Теперь все компьютеры сети могут пользоваться Ubuntu-шлюзом для выхода в интернет. Просто везде на них указывайте один и тот же gateway (в статье это был 192.168.0.10)
info, спасибо, это вы написали для последовательного соединения или параллельного, когда 2 компа подключаются к 3му на убунту ?
как сделать при параллельном соединении?
Это всё имеет силу, когда компьютеры находятся в одной локальной сети. Независимо от способа соединения: если проходит ping между вашим Ubuntu и любой другой машиной, то можно смело указывать Ubuntu как интернет-шлюз.
О том, как наладить непосредственно сетевое соединение в Ubuntu Вы можете прочитать, например, вот здесь.
а какой DNS указывать на клиентах если у меня он 10.0.1.1?
Семен, если клиенты имеют доступ к Вашему DNS (пинг проходит) и он исправно работает, то смело его и указывайте на Ваших клиентах. Если же с этим возникают какие-то затруднения, то можете попробовать публичные DNS Google’а – 8.8.8.8 и 8.8.4.4
Спасибо за подробную инструкцию!
Подскажите, есть ли скрипты или подробное описание настройки L2TP соединения на Ubuntu 9.10?
Поробуйте вот эту инструкцию.
Здравствуйте.
Выполнил все в соответствии с вашей инструкцией.
Вопрос, только уже наверно касается Win7 из которой я пингую убунту
Выдает: Ответ 169,254,191,160 Заданный узел недоступен
но пинг на 192,168,0,10 проходит и получает все пакеты.
Как правильно прописать шлюз в семерке… вернее шлюз, днс маску…это ладно..а айпишник какой ? …подставлял 192,168,0,11 – тогда при пинге уже этот узел говорит недоступен
Прописал на Win7
ip, маску, шлюз, ДНС-ы провайдера. сохранил. А потом проверил ipconfig выдал все как я прописал, кроме DNS-суффикса подключение – там пусто и состояние среды – среда передачи недостуно. Что я делаю не так ?
Извините если вопросы элементарные, я сетевыми технологиями никогда не занимался…
Ashron, между числами в ip-адресе должны быть точки, а не запятые. То есть не ‘192,168,0,11’, а именно ‘192.168.0.11’. Это важно – программы не поймут записи с запятыми.
Также, DNS указывайте тот, что предоставляет Вам ваш провайдер, на крайний случай публичные DNS Google’а (8.8.8.8/8.8.4.4)
Здравствуйте.
Запятые в адресе – это я ошибся в самом посте. DNS прописывал, как провайдера, так и Google’a. Не помогло.
Еще, так должно быть или нет – после всех настроек, в трее ( в убунте вверху справа, или как он здесь называется) – там где значок сетевых соединений, при нажатии на него, раньше показывалось:
Проводная сеть
Auto eth0 (название сетевой карты)
eth1 (название сетевой карты)
Теперь лишь первое соединение показывает “Auto eth0” , а в место eth1 пишет, что “устройство не управляется”
Ashron, здравствуйте.
Да, то, что у вас NetworkManager’ом управляется только один из сетевых интерфейсов после изменений, описанных в этой статье – это правильно. В начале статьи этот момент упоминается.
Также скажите, есть ли интернет на вашей Ubuntu-машине, после того как вы изменили настройки, точно ли он поступает именно в интерфейс eth0?
Если да, то попробуйте еще раз проделать все шаги из статьи, может быть где-то ошиблись. Если не поможет, то покажите вывод команд:
ifconfig
cat /etc/network/interfaces
Попробуем разобраться…
добрый вечер у меня после перезагрузки все поломалось, сделал все снова по порядку а дело все равно нет пинг с клиента доходит до модема а интернета нет
Да, Ivan, извините – это наш недочёт – проверяли на сервере, который работает постоянно и на поведение после перезагрузки не обратили внимание. Посмотрите на конец статьи – только что его подредактировал – дополнил информацию о том, как поднимать конфигурацию iptables автоматически.
В вашем случае рекомендуем обнулить все настройки iptables:
sudo iptables --flush
sudo iptables --delete-chain
И еще раз проделать все шаги из этой статьи с дополнением о сохранении настроек.
Хорошо, попробую все сделать еще раз по новой, чуть позже. (когда вновь буду играться с убунтой =) ).
Да, на самой Убунтe-машине интернет был и поступал именно в eth0.
Всего доброго, и благодарю за познавательную инструкцию, пока разбирался много нового узнал =)
Я для этой цели использую iptables вместе с ipmasq. Ни одной из вуду-команд, описанных в статье, писать не пришлось – поставил всё из пакетов. Если не считать редактирования файлов правил для ipmasq (что эквивалентно нескольким вызовам sudo iptables -A BLAH …)
Может я чего упустил? Debian Etch.
ipmasq нет в репозитариях ubuntu 9.10 и выше.
Хочу заметить что после редактирования файл /etc/sysctl.conf и раскоментирования строк
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
вам просто необходимо выполнить команду
sudo sysctl -p
…
Теперь для конфигурации gateway’я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:
sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”
…
после перезагрузки значение обратно слетает на 0
как это сохранить?
(iptables сохранились правильно, сбрасывается только это значение)
(к предыдущему коментарию)
…
И последний штрих: надо отредактировать файл sysctl.conf:
sudo nano /etc/sysctl.conf
Добавьте в него вот эти две строки для активации роутинга:
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
…
раскомментировал не те строчки в стандартном файле
исправил – теперь все работает правильно
Спасибо
Спасибо большое)
Самое полное и подробное описание во всем Рунете..
Все замечательно работает)
Спасибо за статью, все работает. Есть один вопрос: Как сделать, чтобы не все пользователи из внутренней сети 192.168.Х.ХХХ/28, а только определенные IP имели доступ во внешнюю сеть? Заранее благодарен за ответ
Александр, Вам соответствующим образом необходимо настроить файрволл. По-сути это можно сделать средставми самого iptables (в сети достаточное количество описаний его настройки в этом ключе), но также можно установать и какое-нибудь отдельное приложение типа Firestarter, если вы привыкли к GUI.
Замечательная статья – спасибо огромное)все ясно, просто и по делу..но вот еще нужно решить задачку: можно ли при подоюной настройке как нибудь мониторить трафик с разных IP? если кто нибудь знает, плдскажите, пожалуйста, буду очень благодарна)
Bill, следить за сетевым трафиком в реальном времени можно, например, утилитой iptraf
Прекрасное руководство, всё работает, но почему-то только если на сервере установлен gnome. В чём причина, как сделать всё тоже самое на сервере без графики?
Добрый день,
Вы пишете, что нужно добавить правила для маскарадинга в таблицу NAT, т.е. при введении с консоли вышеуказанных команд, они сами попадут в эту таблицу?
Alex, эти команды создают правило iptables для использования функции NAT (преобразования сетевых адресов), которая использует свою таблицу.
Документацию можно посмотреть здесь: http://www.opennet.ru/docs/RUS/iptables/#NATTABLE
Владимир, Gnome – это графическая оболчка для Xов, и она совершенно не влияет на настройки iptables.
Используя Ubuntu без XOrg, все должно прекрасно работать.
Ещё раз внимательно проделал всё по инструкции, всё работает, где-то допустил ошибку в прошлый раз,
спасибо.
а если еще DHCP сервер работает, то изменять настройки не надо? Все делать как указано выше?
совсем недавно поставил ubuntu и вопрос у меня по
auto eth0
iface eth0 inet manual
pre-up iptables-restore < /etc/iptables.up.rules
у меня IP приходит по ДХЦП, и в /etc/network/interfaces нет никаких упоминаний о eth1 (на него приходит интернет), я просто добавил в /etc/network/interfaces
auto eth1
iface eth1 inet manual
pre-up iptables-restore < /etc/iptables.up.rules
работать будет?
Спасибо ОГРОМНОЕ!
Статей в интернете полно, но как то не получалось победить эту тему. Тут все конкретно и подробно. Интернет в сеть пошел. Вопрос не совсем в тему; интернет буду раздавать через АР. Чей IP прописывать шлюзом на хостах сети, IP АР или IP Ubuntu?
Заранее спасибо.
Alex, если на вашем сервере работает параллельно DHCP, то по-идее дополнительных настроек не требуется, главное не удалите существующие.
m00n, если у вас в /etc/network/interfaces описан только один сетевой интерфейс, но физически в компьютере их два, то второй управляется программой Network Manager. Как-то изменять /etc/network/interfaces в Вашем случае не советуем, со строками:
auto eth1
iface eth1 inet manual
pre-up iptables-restore < /etc/iptables.up.rules
- скорее всего работать не будет.
Григорий, уточните что вы подразумеваете под AP?
В любом случае, если вы настроили корректно Ваш ubuntu-шлюз, то его ip можно смело прописывать на других компьютерах.
Добрый день!
Под АР я подразумевал Access Рoint (роутер). Его адрес не относится к моей локальной сети. Сейчас на машинах локалки прописан ip ubuntu-шлюза. Ping через роутер идет в обоих направлениях, как по Ethernet так и по Wifi. Но интернет в сеть идет только по ethernet. По Wifi, точка доступа видна, подключение происходит, но в интернет машины из локалки не попадают.
Объясните подробно все сделал как было написано.
на сервере стоит ubuntu, клиент – 7. машины друг друга пингуют
что в 7 и куда прописать чтобы инет появился.
Отличная статья! Все работает как часы!
Добрый день!
А есть ли способ более гибко раздавать интернет из под линукса? Интересует в первую очередь ограничение ширины канала для конкретных пользователей.
к 37 посту:
ситуация как у m00n
добавил строки – заработало
до этого не пахал ДНС из внутренней сети
Спасиба автору !! все работает!!1
У меня на машине только одна сетевая, она и в инет смотрит и сеть заглядывает. Как быть в этом случае?
Спасибо вам огромное за такую позновательную статью . Настроил не сразу ))) аж с 4го раза , и то по своеей тупости + вы не дописали что на машине (клиенте) в днс нужно прописать днски хотябы гугла (8.8.8.8 или 8.8.4.4) . СПасибо вам огромное еще раз !!!
очень полезная статься, но у меня немного другая ситуация: есть кпк PALM tungsten T5, и нужно раздать на него интернет через bluetooth . сильно ли изменится алгоритм действий по сравнению с вышеизложенным? извиняюсь за вопрос возможно не по теме
Спасибо за статью, все настроил, все работает, кроме одного: не могу зайти на msn.com, microsoft.com, не могу подключиться к messenger. Может что подскажете по данному случаю.
Спасибо большое за толковую статью! 🙂 Заработало на раз. Может, подскажете, как настроить VPN туннель между двумя серверами Ubuntu (site-to-site)? Или где можно описание найти вроде написанного вами? Спасибо заранее!
Tauri, вот инструкция по настройке OpenVPN: “Простая настройка OpenVPN с фиксированными адресами клиентов”
Блин.. настроил все как в этой статье и в итоге ничего. Сеть работает а инет не раздается (Ubuntu 10.04)/ Помогите….
liysha, инструкция рабочая, проверена неоднократно. Пробуйте снова, возможно где-то ошиблись. В любом случае дистанционно без всякой информации помочь не сможем, изучайте логи и сообщения программ об ошибках – если не разберетесь, пишите их сюда, посмотрим, может сможем чем помочь.
Спасибо за инструкцию. Я, правда, уже разобрался, но до этого сутки читал форумы в которых основная инструкция: “Уже сто раз спрашивали – пользуйтесь поиском”. =(
Хорошо, что остались люди с человеческим отношением к другим. 🙂
Все заработало…..Огромное СПАСИБО за эту инструкцию. Угробил неделю на настройку инета в сеть.. Только это тормозило полностью перейти на Ubuntu.
Имею витую пару с внешним статическим IP. Настроил на компе Убунту Сервер. Через вторую сетевую подключил маршрутизатор по интерфейсу eth1 как в статье. На остальные ПК дальше Интернет должен раздавать маршрутизатор. Физически всё подключено, согласно статье настроено, из клиентского ПК пингуется и IP eth1 и статический внешний адрес eth0. Но для раздачи Интернету нужно в маршрутизаторе настроить WAN с параметрами: IP Address, Subnet Mask, Default Gateway, Primary DNS, Secondary DNS. Согласно статье заменил Default Gateway на 192.168.0.10, IP внешний оставил. При попытке сохранить такие параметры маршрутизатор в веб-интерфейсе выдаёт ошибку: Bad Gateway for WAN IP, please input another one. Тупо даже перебирал разные варианты. Маршрутизатор TP-Link TL-WR340G
http://www.tp-link.com/support/download.asp?a=1&m=TL-WR340G
Имеет опции Forwarding, Virtual Servers, Firewall, Static Routing и др. В чём может быть ошибка? Спасибо.
Юрий, если я вас правильно понял, то делать какие-либо настройки в маршрутезаторе локальной сети вам не надо, достаточно чтобы он просто связывал все машины между собой. Все необходимые фунцкии для раздачи WAN в LAN будет выполнять ваш PC-шлюз.
а не проще ли сделать так…?
iptables -t nat -A POSTROUTING -o (внешний инет eth1 например) -j MASQUERAD
iptables -P FORWARD ACCEPT
gedit /etc/sysctl.conf – расскоментировать строку с forward
команды iptables прописать в /etc/rc.local
если делать по вашему все конечно работает, но зачем столько лишних дел когда можно обойтись двумя строчками?)
Есть два компа, один маршрутизатор. На нем винда и убунта 10.04 под вмндой второй комп интернет видит. Под убунтой нет. Ни в какую. Ваше руководство которым я пытаюсь воспользоваться уже 30-ое наверно. И ни одно не помогает. Делаю все по инструкции. Все проверяю. Результат – ноль.
Интернета на второй тачке как не было так и нет.
Может я уже везде столько всего понапрописал что теперь только кувалда спасет. Может какие то настройки для автозапуска. сохранил не верные а теперь по верх этого в другие но в другие автозапускающие файлы? Вобщем у меня тоску вызывает линукс. А мне этого не хочется. Ай нид хелп.
Криво написал.
два компа
pc1: winXP or Ubuntu 10.04
pc2: winXP
если первый комп подминдой то второй видит инет, если под убунтой то ничего.
Dmitriy, в этой статье описана настройка на компьютере gateway, а не доступа в интернет.
Для настройки доступа к интернету рекомендуем вам не трогать конфигурационных файлов, а сделать все через графический интерфейс программой NetworkManager.
Добрый день! Большое ВАМ спасибо. это единственный путь который дал результат из моего опыта. провел целую неделю в поисках. переустанавливал Ubuntu 10.04 server раз 7. хотел было искать что-то другое. Сделал всё по вашей статье и случилось чудо (для меня). очень вам благодарен.
sudo sh -c “echo 1 > /proc/sys/net/ipv4/ip_forward”
работает только до ребута системы.
Что бы не писать каждый раз ее удобно прописать в описанный здесь же /etc/sysctl.conf строчку net.ipv4.ip_forward = 1 и сохранить 😉
Спасибо за статью! Только у меня проблемма. Интернет работает, а вот если я хочу прикрепить фаил к письму, то через данный шлюз не прикрепляет, или неотправляет почту. Как решить проблемму?
У меня все просто провайдер отдает статический адресс, маску, шлюз, днс.
И у меня сеть на 20 машин с некими параметрами сети
192.168.0.Х
В чем проблемма?
СПАСИБО ОГРОМНОЕ !!! ПОТРАТИЛ
1. 2 МЕСЯЦА РАБОТЫ, МЛЯ
2 20 БАЛВАНОК С ДИСТРИБУТИВАМИ
3. КУЧУ НЕРВОВ
В ИТОГЕ – ПОМОГ ТОЛЬКО ЭТОТ ФОРУМ )
Подскажите, пожалуйста, как раздавать интернет через Ubuntu на Windows XP
Спасибо за статью, всё очень доходчиво и понятно написано. Только одно “но”: интернет на компьютере клиента заработал только после того, как прописал DNS “8.8.8.8”. Работают все сайты, Skype, ICQ, Dropbox. Но! Google не работает! Это вообще как так? Это от того что DNS googleовский? Что делать?
На сервере eth0 смотрит в сеть провайдера, eth1 смотрит в домашнюю сеть, подключаю сервер через pppoe к интернету, создается в ifconfig ppp0, мне получается вместо eth0 указанного в статье выше нужно будет указать интерфейс интернета ppp0 ?
Спасибо, все работает, eth0 – смотрит в сеть провайдера, eth1 – домашнюю сеть, ppp0 – создается при подключении к интернету с сервера через pppoe именно его указал как интерфейс, смотрящий в интернет и все заработало! Спасибо огромное ^_____^ довольная рожа.
Хм, на сервере стоит веб сервер, почему -то после всех манипуляций сайт потерял линк с базой данных, расположенной на этом же сервере 127.0.0.1:3306, после команд:
iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain
Снова заработал сайт, как-то пока не до конца понятно что откуда растет, кстати, странная еще одна вещь, сайты типо ya.ru работают, а тот же гугл и многое другое не прогружается, хотя пинг проходит до них, чет совсем запутался в чем траблы :
Спасибо!!!!!!! Всё заработало!!!!!!!!
У нас 6 комп. подключены в локальную сеть .К моему компу подключен интернет через модем ,я подключил всех к интернету через -общий доступ к интернету в локальной сети. Как сделать доступ только 4 комп. ,но чтобы 6 комп. остались в локальной сети. Подскажите пожалуйста может есть такая программа
Ранее настраивал раздачу инета в Ubuntu 9.10 по этой статье.
Сейчас. Ubuntu 10.10 гружусь с лайва, dvd.
Делаю все по инструкции, только, конечно не сохраняю на лайве то.
На клиентском компе (как на XP, так и на Ubuntu 10.10) пингуется первый комп, пингуется ДНС провайдера, но не открываются стреници в браузере… кроме сервера статистики моего провайдера.
В чем тут может быть проблема?
Что-то появилось такое предположение, что нужно что-то проверить в настройках модема… может там DNS нужно указать точно…
Хотя сам лайв 10.10 принимает инет, и Win7 установленная на этом же компе принимает и передает… так что… вряд ли.
This information reflects the current status of your DSL connection.
LAN IP Address: 192.168.1.1
Primary DNS Server: 192.168.1.1
Secondary DNS Server: 192.168.1.1
вот это меня смущает
P.S. коменты бы объединить 🙂
Перенастроил инет через pppoeconf вместо networkmanager’а. Заработало. Может дело в MTU параметре… ограничить до какого-то значения вроде 1460 и networkmanager тоже начнет правильно подключать инет для передачи. Проверю как-нибудь, донастрою остальное в системе.
Спасибо большое!!! Сделал как написано – всё работает как часы! 🙂
Таким людям надо ставить памятники! Спасибо, работает! Не мешало бы пару строк добавить о просмотре статуса iptables и на каких уровнях загрузки активен или пассивен.
помогите пожалуйства настроить раздачу интернета по схеме USB модем – убунту 9 – Wi Fi
Доброго времени суток. Огромное спасибо за подробную статью. Настроил, все заработало. Еще четыре компа получают интернет. После перезагрузки все слетело. Думал, что не цепляет iptables, но как выяснил позже, слетает IP адрес карты, смотрящей в домашнюю сеть.
Провайдер eltel, настраивал с помощью “sudo pppoeconf”
Что можно сделать..? Иногда приходится перезагружать машину, и нет желания каждый раз прописывать команду “sudo ifconfig eth1 192.168.0.1”
Файл: /etc/network/interfaces
auto lo
iface lo inet loopback
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf
provider dsl-provider
auto eth1
iface eth1 inet manual
pre-up iptables-restore < /etc/iptables.up.rules
помогите пожалуйства настроить доступ к интернету на клиенте. Стоит сервер ubuntu все настройки произведены. Подключил ноутбук к локальной сети а доступа к интернету нет.
2agerov: пропиши в interfaces адреса руками, если и после этого настройки слетают – то удали пакет network-manager
2Иван: пропиши на клиенте ip адрес, gateway (шлюз, который настраивал) и dns – чтобы раздавать все это автоматически необходима настройка dhcp.
federk. dhcp настроена так что всем клиентам автоматически всё раздается. Стоит несколько компов на них инэт есть а на моём ноуте нет.
Что только не делал, потом в итоге добавил в dhcp мак адрес ноута присвоил фиксированный адрес ноут его видит, но инэта так же нет
2Иван: а ping 8.8.8.8 проходит?
dhcp сервер какой шлюз клиентам разадет? провайдера или твой?
Здравствуйте.
Система Debian 5, минимальный набор при установке.
Все делалось по этой статье, инет появляется на 2 машины, но после перезагрузки не работает на клиенском пк, хотя iptables -L показывает, что правила сохранены. Чтобы снова “поднять” инет, нужно обязательно очистить таблицу через
iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain
а потом снова ввести все правила. Без очистки не хочет работать. Как заставить автоматом “подниматься” инет после перезагрузки? Может, в автозагрузку как-нить все это дело оформить, но не знаю как нужно.
Спасибо)) Все заработало))) Теперь хочу чтобы айпишник еще по DHCP выдавался))) а вопрос со шлюзом решен и это здорово)))
У меня странная ситуация получилась. Шлюз даёт интернет только на одну пользовательскую машину. подключаюсь к нему 2-й машиной – инета на ней нет. хоть ты тресни.. в чём может быть косяк?
SunSet: да, попробуйте сделать скрипт и добавить в автозагрузку: http://oss-it.ru/171
Андрей: Машины находятся в одной подсети? Пинг проходит между ними? Если первую отключаете – на вторую интернет приходит? Если нет – то скорее всего дело в настройках второй машины.
у меня проблема с настройкой шлюза на Ubuntu 10.10, делаю все как написано в вашей статье, в interfaces ничего само не прописывается только lo есть. а как руками пропишу, eth0 и eth1 пропадают после перезагрузки, не прописываю, инет на 2-ой машине появляется, но после перезагрузки все слетает (как писали здесь не раз). перепробовал разные варианты, ничего не помогает, посоветуйте что-нибудь)
Nikolas: на самом шлюзе сетевые настройки могут быть прописаны в NetworkManager (GUI-утилита, по-умолчанию настраивает сеть в Ubuntu) или в файле interfaces (как описано у нас в статье). Вам надо выбрать или тот, или другой вариант, а не пытаться совместить оба.
Если решите остановиться всеже на Network Manager’е, то скрипт авто-поднятия настроек iptables минуя interfaces можно создать подобным образом: http://oss-it.ru/171
если к такому шлюзу прибавить DHCP, будет ли работать для сети в 50 компов? Как этот шлюз связать со сквидом?
Alexandr: Да, будет работать и DHCP, и Squid. Вот, например, такая инструкция: http://leolik.blogspot.com/2008/04/dhcp-squid_19.html
спасибо…нормальный код для iptables нашел только здсь
Прошу помочь.
После настройки iptables заработал инет везде, но интересный факт:
аккаунт qip в самом infiume на клиентских машинах не работает при том, что аккаунты icq в нем же загружаются и сайт qip не грузится именно при переключении на этот настроенный шлюз.
Ответы на подобные вопросы не помог. Может вы проясните. Спасибо.
Сделал локальную сеть, первый комп видит второй, а второй не видит первый (при пинге выдаёт – превышен интервал ожидания для запроса). Что делать?
Огромное спасибо, весь инет облазил, заработало только по этому мануалу)
Здравствуйте подскажите пожайлуста. Как можно настроить компьютер чтобы на нём распологался мой сайт? Чтобы другие пользователи сети интернет могли попасть на мой компьютер.
Андрей: установите веб-сервер, к примеру, apache. Файлы своего сайта кладите в /var/www
Спасибо!Работает,только после перезагрузки приходится в терминале настраивать iptables.Имеется две карточки-вайрлес (wlan0)и ethernet(eth0).Инет приходит по вай-фай на машину с линуксом и передаётся на ноут по кросс-овер.Так в документе interfaces такой wlan0 даже не присутствует.В папке network присутствует только какой-то скрипт и док interfaces.Линукс убунту 10.10.
Юрис: если сеть у вас настроена через Network Manager, то скрипт авто-поднятия настроек iptables минуя interfaces можно создать подобным образом: http://oss-it.ru/171
У организации сетка S1 подключаются к инет через аутентификацию, у меня отдельная сеть S2 хочу дать инет своим пользователям через Ubuntu 10.10 Server у которого eth0 через аутентификацию подключается к инету, а eth1 подключен к моей сети, Настроил выше указанным образом Ubuntu 10.10 Server, но ни с одного компа кроме сервера выйти в инет не могу. Раньше стоял Ubuntu 10.04 и squid инет работал но не проходили https соединения, решил попробовать iptables и вот ничего не получается. Скажите в чем может быть проблема пожалуйста?
Андрей: не могу ответить на ваш вопрос, недостаточно данных. Какую аутентификацию вы имеете ввиду?
Если интернет поступает и работает на сервере через eth0, то рекомендую обнулить таблицы iptables и попробовать еще раз более внимательно – должно работать.
iptables я обнулял и делал все по шагово раза 4. Скажите пожалуйста а не может ли быть проблема в том что адрес eth0 (инет) у меня статический и не корректно отрабатывает вот эта строчка:
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
и если это так то что нужно прописать чтобы работало со статическим внешним ip?
Организовал шлюз на машине Linux Mint 9 Росинка на базе Ubuntu 10.04.
настроил по вашим рекомендациям. Интернет раздает до перезагрузки системы. Дошел до места sudo sh -c “iptables-save > /etc/iptables.up.rules”
в файле /etc/network/interfaces пробую прописывать для автозагрузки, В этом файле по уммолчанию прописана петля
auto lo
iface lo inet loopback
дописываю
auto eth1
iface eth1 inet manual
pre-up iptables-restore < /etc/iptables.up.rules
но после загрузки все сетевые карты отключаются совсем
Может в Росинки не в это файл надо прописывать
Если можно то ещё для меня как правильно организовать автозапуск в LM9 Росинкa
Николай, ответ на ваш вопрос находится в коментарии 89 к этому посту.
Здравствуйте. Сделал все по вышеописанному и максимум, чего добился – это работоспособность ICQ с машин в локальной сети. Больше ничего не открывается. В чем проблема? Спасибо.
ERT, скорее всего у вас некорректно указаны или не указаны вовсе DNS.
Настроил по вашей инструкции,но на ноуте в вин 7 пропадает нет.Что может быть за ошибка?
Dima, недостаточно данных чтобы ответить на ваш вопрос.
Подробно опишите вашу проблему, что проанализировать и найти причины.
Здравствуйте.
Есть локальная сеть через которую выхожу в интернет. Интерфейс eth0. Хочу сделать AP wi-fi которая создаёт другую сеть (домашнюю)
Хочу выдавать всем устройствам wi-fi статический IP и подключатся к точке доступа, через которую выходить в интернет.
eth0 настраиваю так:
ifconfig eth0 192.168.0.185 netmask 255.255.248.0 hw ether 00:25:22:39:ae:a5
route add default gw 192.168.0.30
Добавляю в /etc/resolv.conf dns:
echo "nameserver 195.95.139.18" >> /etc/resolv.conf
Интернет появляется.
Есть интерфейс wi-fi wlan0.
Интерфейс wlan0 настраиваю как точку доступа при помощи hostapd
/etc/hostapd/hostapd.conf
interface=wlan0
driver=nl80211
ssid=MyAp
country_code=RU
hw_mode=g
channel=5
macaddr_acl=1
accept_mac_file=/etc/hostapd/hostapd.accept
после поднятия hostapd, ifconfig выдаёт:
eth0 Link encap:Ethernet HWaddr 00:25:22:39:ae:a5
inet addr:192.168.0.185 Bcast:192.168.7.255 Mask:255.255.248.0
inet6 addr: fe80::21b:38ff:fecb:f33a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2585536 errors:1 dropped:102 overruns:0 frame:1
TX packets:2702510 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:354029473 (354.0 MB) TX bytes:2920203702 (2.9 GB)
Interrupt:42 Base address:0x2000
lo Link encap:Локальная петля (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:407538 errors:0 dropped:0 overruns:0 frame:0
TX packets:407538 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:13450614 (13.4 MB) TX bytes:13450614 (13.4 MB)
mon.wlan0 Link encap:UNSPEC HWaddr 00-1F-3A-0D-8C-B1-30-30-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1544 (1.5 KB) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:1f:3a:0d:8c:b1
inet6 addr: fe80::21f:3aff:fe0d:8cb1/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:137601 errors:0 dropped:0 overruns:0 frame:0
TX packets:199787 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:13853704 (13.8 MB) TX bytes:242239576 (242.2 MB)
Назначаю интерфейсу wlan0 ip-адрес:
ifconfig wlan0 10.0.0.1/24
После чего делаю настройки iptables:
iptables -A FORWARD -i eth0 -o wlan0 -s 10.0.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
Далее на другом ПК настраиваю сеть wi-fi:
ip:10.0.0.2/24
gw:10.0.0.1
dns: 195.95.139.18
К точке доступа подключается. Пинг на 10.0.0.1 и 192.168.0.185 идёт. Но интернета нет…
Может что-то упустил.
Что может быть не так?
Здравствуйте, Руслан.
Рабочее руководство по созданию точки доступа для раздачи интернета в Debian/Ubuntu читайте вот здесь:
http://gettoknowlinux.blogspot.com/2011/06/kak-razdat-internet-cherez-wi-fi-v.html
“Либо, это можно проделать всего одной командой:
sudo ifconfig eth1 192.168.0.10
Эта команда самостоятельно настроит вашу сетевую карту eth1 на использование статичного айпи-адреса, и самостоятельно пропишет описанные выше настройки в файл /etc/network/interfaces”
Эта команда ничего в этот файл не пишет. Она присваивает IP только до перезагрузки.
Спасибо все заработало, неплохо еще бы добавить какой нибудь кэширующий dns-сервер. У меня без dnsmasq не захотел денеэсить. Там всей настройки: sudo apt-get install dnsmasq
Ваще верняк! Спасибо за инструкцию!
А я вот тут http://school-adminlinux.blogspot.com/ прочитал мне помогло пока работает
У меня проблема….. помогите….. Упал шлюз. Все дело в том что я инет могу раздать локальным машинам и виндой, но, есть один момент! У меня два входящих канала, один зашифрованный другой нет, их надо преобразовать в один. И раздавать по одному кабелю!
Алексей, если хотите чтобы вам помогли – то более конкретно формулируйте проблему. Из вашего описания не ясно каким ПО вы пользуетесь и в чём конкретно состоит проблема.
здравствуйте… настроил всё по мануалу.. вроде получилось но проблема такова: сетевая карта (етх1) смотит в локальную сеть, сетевая карта (етх0) смотрит на провайдера… при подключении всех проводов спустя минуты две появляеца локалка (проверено методом пинга) а вот инет никак не появляеца (на серваке!!!) хотя я пингую до точки доступа и ДНС все видит… в чом может быть трабл???… помогите…. до этого был такой трабл лечился методом тыка на сетевое подключение “в трее”….изначально ставил дистрибутив убунту 10,04, но он попросил обновления до 11 версии… после обновления эта менюшка “в трее” пропала… теперь я не знаю куда ткнуть штоп подключение произошло!!!!…. ПОМОГИТЕ….
Добрый день, настроил как написано выше, всё работает, у всех есть инет, но надо пробросить порт для вэб сервера, воспользовавшись этой статьёй http://oss-it.ru/217 получилось что с интернета обращаясь на мой ip (естественно внешний) попадают на вэб сервер, но с локальной сети если я обращаюсь на внешний ip не пропускает!
Добрый день. Подскажите пожалуйста у меня вот такая проблема прочитал вашу тему спасибо. Но у меня не получилось немного по поподробне сервер ubuntu подключен к создан домен вот его настройки
auto eth0 (от сюда я получаю инет)
iface eth0 inet static
adress 192.168.101.247
netmask 255.255.255.0
gateway 192.168.101.1
auto eth1 (а здесь его нету)
iface eth1 inet static
adress 10.10.8.1
netmask 255.255.255.0
network 10.10.8.0
broadcast 10.10.8.254
Подскажите что я не так сделал?
Автору большое уважение. Прекрасная статья. Все получилось со второго раза (первый раз не сбрасывал iptable, не прописал одну строчку и сделал одну ошибку). Главное выполнять все по инструкции. Хочу дать только пару замечаний по статье:
1) Значения network и broadcast будут зависеть от вашего адреса. То есть, если ваш локальный ip — 10.0.0.10, то network и broadcast будут 10.0.0.0 и 10.255.255.255 соответственно. – тут, помоему ошибка. должно быть так: то network и broadcast будут 10.0.0.0 и 10.0.0.255
2) Хотелось бы увидеть описание блок:
sudo iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -m conntrack –ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
А то страшно выполнять то, чего вообще не понятно.
можно мне спросить помощи у общественности.
Ситуация в офисе такая. Входит кабель инета на вай-фай роутер, клиент Убунту 12.04 получает через юсб тот самый инет, при этом его сетевая не задействована вовсе. Рядом к этому клиенту ставят другой комп на той же самой Убунте, но соединяют оба компа через обжатый Лан-провод. Оба клиента получают дшсп в автомате, оба работают с сервером через Реммину (обязательное условие)
Не могу раздать интернет с клиента 1 (ЮСБ вай-фай интернет получает, через свою сетевую должен отдать клиенту 2).
Вводные данные такие:
клиент1 – 192,168,0,109, маска 255,255,255,0 шлюз 192,168,1,1, броадкаст 192,168,0,255, днс 77,121,244,40 на его сетевой ставлю такие параметры вручную – 192,168,1,1, маска 255,255,255,0
клиент 2 -лан 192,168,1,2, маска 255,255,255,0, шлюз 192,168,1,1, днс 192,168,1,1
спасибо за помощь
в /etc/network/interface описана только петля. о eth0 и eth1 там не слова, как настроить автозагрузку параметров?
Большое спасибо. Действительно все получилось. Правда с моими ip адресами не работает, но если использовать ip адреса указанные в примере – все получается. Пойду искать косяк в своих айпишках. Спасибо за статью!
Здравствуйте! а как можно раздать интернет с eth1 на интерфейсы eth2 и eth3, а так же сделать чтоб dchp сервер раздавал ip c двух интерфейсов
Игорь,
Вместо первой команды iptables, упомянутой в статье, введите две этих:
sudo iptables -A FORWARD -i eth1 -o eth2 -s 10.0.0.1/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth3 -s 10.0.1.1/24 -m conntrack --ctstate NEW -j ACCEPT
Изменив сети и маски подсети на те, на которые у вас настроены интерфейсы eth2 и eth3.
Если используете dnsmasq, то вот пример конфигурации на два интерфейса:
# Common options
listen-address=127.0.0.1,10.0.0.1,10.0.1.1
bind-interfaces
bogus-priv
dhcp-authoritative
dhcp-option=vendor:MSFT,2,1i
domain-needed
dhcp-option=option:domain-search,example.org
domain=example.org
strict-order
# DHCP-range and options, 10.0.0.0/24
#dhcp-range=address:10.0.0.1,10.0.0.2,10.0.0.254,255.255.255.0,3h
dhcp-option=address:10.0.0.1,option:dns-server,10.0.0.1
dhcp-option=address:10.0.0.1,option:ntp-server,10.0.0.1
dhcp-option=address:10.0.0.1,option:router,10.0.0.1
# DHCP-range and options, 10.0.1.0/24
dhcp-range=address:10.0.1.1,10.0.1.2,10.0.1.254,255.255.255.0,3h
dhcp-option=address:10.0.1.1,option:dns-server,10.0.1.1
dhcp-option=address:10.0.1.1,option:ntp-server,10.0.1.1
dhcp-option=address:10.0.1.1,option:router,10.0.1.1
# Hosts, 10.0.0.0/24
dhcp-host=00:0f:20:30:cc:a7,00:0f:20:30:cc:a8,srv1.example.org,10.0.0.201
dhcp-host=00:0d:9d:d4:8d:cc,00:0d:9d:d4:8d:cd,srv2.example.org,10.0.0.202
Пример отсюда.
Автор спасибо тебе огромное, ты супер.
а какие минимальные параметры железа для нормальной работы шлюза на 50 компов?
Вообще, лучше использовать специальное железо для такого количества клиентов.
Но если непременно стоит задача работы шлюза на собственном linux сервере (например, для моста в специфические VPN, не поддерживаемых роутерами) – то определяющими будут параметры сетевых портов, как часто говорят “толщина канала”. Для шлюза на 50 клиентов, хватит 128MB памяти (хватит и значительно меньше, просто сейчас сложно найти оборудование с меньшим количеством памяти) и любого современного процессора (arm, amd, intel), если на сервере будут работать ещё какие-то демоны, то желательно, чтобы процессор был как минимум с двумя ядрами.
Спасибо info что ответили! очень нужен квалиф.совет.
Есть задача- поднять интернет шлюз минимум 50 комп. позже может быть больше. шлюз подключается от роутера (пока так) кабелем (инет от провайдера через роутер) канал 100 мб/с. Цель оптимизировать сеть при данной пропускной способности, раздавать по dhcp, иметь возможность ограничить скорость при закачке торрентов например (создать правило) видить статистику. Увеличить безопасность. В наличии железо: комп Атлон 2 ядра 2.6ГЦ , озу 2Гб диск 500 Гб . сетевая pci + сетевая на материн. Ubuntu server 16.04.
1.Как правильно настроить сетевые интерфейсы в данном случае?
2.Насколько реально и эффективно раздавать через 2 pci сетевых интерфейса (две ветки сети с разными правилами например)?
3.Каких целей реально достичь с таким железом?
За ранее спасибо!
1. В вашем случае проще и быстрее всего будет использовать специализированный для перечисленных задач дистрибутив системы. Какой-нибудь из этих например: https://en.wikipedia.org/wiki/List_of_router_and_firewall_distributions
В большинстве из них все перечисленное можно сделать через встроенный веб-интерфейс.
2. Вполне реально на разные интерфейсы раздавать разные правила.
3. Железа хватит вполне, разве что могу настоятельно порекомендовать установить систему на SSD, вместо жесткого диска. Если не планируется кэширования, то для всего вполне хватит 16-32GB твердотельного накопителя, а жесткий диск можно будет и не подключать.
Большое спасибо! А какой дистрибутив из приведенных, на ваш взгляд лучше подойдет?
http://demo.untangle.com/admin/index.do – думаю, вполне.
http://www.zeroshell.org/ss/show.php?Name=netbalancer-gateway.gif – а может хватит функционала и этого.
Большое спасибо!
Спасибо тебе, добрый человек!
Здравствуйте!
Подскажите пожалуйста какие INPUT правила нужно прописать чтобы на локальных машинах интернет работал, если общее правило DROP ?
Я уже всякие разные перепробовал – в итоге, интернет на локальных машинах работает только если глобальное правило ACCEPT.
Спасибо!
Автор, ну ты и дал… Где же ты раньше был? Из-за отсутствия твоей статьи в топе переустанавливал грёбаный дебиан 10 раз… Тебе прогул, в общем то говоря, с занесением в личное дело = ) А вообще-то благо дарю тебе, автор. Только вот скорость исходящая стала резаться из локалки, думаю связано с iptables, тем более что после шлюза, стоит роутер…
Добрый день! сделал все по инструкции ( у меня интернет через 4g модем идет к ubuntu и раздается на windows по локальной сети)
интернет на винде заработал! но пропал на ubuntu, откуда он раздается, как быть ?
Недостаточно информации, чтобы что-то предположить. Проверьте в первую очередь ping по ip-адресам (в локальную сеть и во внешнюю, например
ping 8.8.8.8
) – если внешние ip пингуются, значит проблема в dns. Если есть пинг только в локальной сети или вообще нет (но при этом интернет как-то раздается) – скорее всего какая-то ошибка маршрутизации или файрвола. В этом случае можно порекомендовать сбросить настройки iptables и попробовать снова, возможно, где-то была допущена ошибка.Заработает без conntrack. Какая ошибка. Вы же сами назначили предписание ядру так следить за пакетами) Пинги по ip будут идти, понятное дело.
Добрый день!
Надеюсь тема еще жива, у меня такая проблема, интернет от провайдера приходит и для его работы на рабочих пк необходимо прописывать прокси(интернет отдают через прокси). какое правило в iptables нужно прописать, что бы на интернет-шлюзе настроить подключение к интернет через прокси, без необходимости настройки на остальных пк ?
Попробуйте такие правила: https://superuser.com/a/544404
iptables -t nat -A PREROUTING -i eth0 -s ! 192.168.0.2 -p tcp --dport 80 -j DNAT --to 192.168.0.2:3128
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -d 192.168.0.2 -j SNAT --to 192.168.0.1
iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.0.2 -i eth0 -o eth0 -p tcp --dport 3128 -j ACCEPT
где:
192.168.0.2 – proxy server IP (Squid, etc);
192.168.0.1 – router IP (where started iptables);
192.168.0.0/24 – your local network
А как после этого на сервере качать пакеты? обновляться.
После таких правил инет для клиентов появился, но сам сервер может пинговать лишь io адреса. имена нет. Если сделать сброс правил, то все ок. Каждый раз сбрасывать правила?
Видимо, почему-то у вас сбрасываются настройки DNS серверов. Их можно проверить/изменить в файле
/etc/resolv.conf
.iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain
iptables -A FORWARD -i ens37 -o ens38 -s 192.168.2.0/24 -m conntrack –ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack –ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
ens37 – внутренний интерфейс
ens38 – внешний
192.168.2.0/24 – внутренняя сеть
ping google.com
ping: google.com: Temporary failure in name resolution
Зато с клиентов все ок
iptables –flush
iptables –table nat –flush
iptables –delete-chain
iptables –table nat –delete-chain
ping google.com
PING google.com (64.233.164.139) 56(84) bytes of data.
64 bytes from lf-in-f139.1e100.net (64.233.164.139): icmp_seq=1 ttl=128 time=19.8 ms
64 bytes from lf-in-f139.1e100.net (64.233.164.139): icmp_seq=2 ttl=128 time=19.2 ms
^C
— google.com ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 1043ms
Это как? Я бы еще понял, еслиб не было пинга и до ip адресов, а тут странно. Или настройки сетевых интерфейсов. Еслиб дело было в них, то и сброс правил не помог бы.
О. Форматирование не правильно выставил. Все. Блин, здесь всё. Где же поискать решение..
iptables -A FORWARD -i ens37 -o ens38 -s 192.168.2.0/24 -j ACCEPT
Вот так момент проблемы резольвинга исчезнет. А с -m conntrack –ctstate NEW нужно дописывать другие разрешения, чего вы в своем .. блоге вообще не упомянули.
Уточните, пожалуйста, версию своей системы. Возможно, на вашу сетевую конфигурацию повлияли какие-то сторонние параметры.