Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Интернет шлюз через Ubuntu 9.04  (Прочитано 5833 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн starling13

  • Участник
  • *
  • Сообщений: 239
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #30 : 15 Сентября 2009, 16:58:17 »
Мне кажется, как раз для такой элементарной задачи лучше написать две строчки в конфиге iptables, заодно узнать много нового и полезного :)

Оффлайн Dec

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #31 : 15 Сентября 2009, 17:04:21 »
Мне кажется, как раз для такой элементарной задачи лучше написать две строчки в конфиге iptables, заодно узнать много нового и полезного :)
дык объясни где этот конфиг находится и какие строчки писать

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #32 : 15 Сентября 2009, 17:10:04 »
man iptables
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Dec

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #33 : 15 Сентября 2009, 18:08:09 »
man iptables
ага...
Так где тут проще в iptables? Докажи что в iptables сделать раздачу инета проще и быстрее чем в Firestarter. А то тут умники смотрю развелись языком молоть, а как на деле только ссылки могут писать...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #34 : 15 Сентября 2009, 18:30:51 »
Смысл мне париться тебе что-то доказывать? Ты уперся в свой потолок и не в состоянии подняться выше.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн starling13

  • Участник
  • *
  • Сообщений: 239
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #35 : 16 Сентября 2009, 17:09:52 »
Господи, ну попробуйте через Firestarter, можете посмотреть потом, что получится в файле настроек iptables.

Я обычно делал маленький файл скрипта firewall.sh с содержимым вроде того, что вам уже подсказали:
#! /bin/sh

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
...
iptables -A POSTROUTING -s [диапазон твоей сети eth1] -o ppp0 -j SNAT --to-source [твой внешний IP]
iptables -A FORWARD -s [диапазон твоей сети eth1] -i eth1 -o ppp0 -j ACCEPT
...
iptables-save
И ставил его на автозапуск

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #36 : 16 Сентября 2009, 17:59:11 »
а если так попробовать автоматизировать

если гуляем в инет без помощи vpn,
IP1="`ip addr show eth0 | grep inet | awk '{print $2}'`"если при помощи vpn
IP1="`ifconfig ppp0 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $8}' | sed -e 's/addr://'`"
Цитировать
#! /bin/sh

IP1="`ifconfig ppp0 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $8}' | sed -e 's/addr://'`"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
...
iptables -A POSTROUTING -s [диапазон твоей сети eth1] -o ppp0 -j SNAT --to-source $IP1
iptables -A FORWARD -s [диапазон твоей сети eth1] -i eth1 -o ppp0 -j ACCEPT
...
iptables-save

Оффлайн Dec

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #37 : 16 Сентября 2009, 22:50:16 »
Объясните что писать в [диапазон твоей сети eth1] и [твой внешний IP], мне это совершенно непонятно, и везде в нете смотрю в таком виде эта инфа, разъясните плиз.

Оффлайн starling13

  • Участник
  • *
  • Сообщений: 239
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #38 : 16 Сентября 2009, 23:22:50 »
Цитировать
[диапазон твоей сети eth1]
Адрес и маска сети, к которой подключен интерфейс eth1.
Если настройки этого интерфейса 192.168.1.34 маска 255.255.255.0, то 192.168.1.0/24

Цитировать
[твой внешний IP]
IP адрес, для которого провайдер разрешает подключение. По идее - адрес итерфейса в сторону роутера.
Если статический, то он и есть, если нет,
тогда посоветованная выше строка скрипта
Цитировать
IP1="`ip addr show eth0 | grep inet | awk '{print $2}'`"
запишет полученный адрес в переменную IP1, которую также подсказали использовать в нужном месте.
Проверьте в терминале сперва
Цитировать
ip addr show eth0 | grep inet | awk '{print $2}'
должен написать правильный IP

Оффлайн Dec

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #39 : 16 Сентября 2009, 23:48:11 »
Цитировать
[диапазон твоей сети eth1]
Адрес и маска сети, к которой подключен интерфейс eth1.
Если настройки этого интерфейса 192.168.1.34 маска 255.255.255.0, то 192.168.1.0/24

Цитировать
[твой внешний IP]
IP адрес, для которого провайдер разрешает подключение. По идее - адрес итерфейса в сторону роутера.
Если статический, то он и есть, если нет,
тогда посоветованная выше строка скрипта
Цитировать
IP1="`ip addr show eth0 | grep inet | awk '{print $2}'`"
запишет полученный адрес в переменную IP1, которую также подсказали использовать в нужном месте.
Проверьте в терминале сперва
Цитировать
ip addr show eth0 | grep inet | awk '{print $2}'
должен написать правильный IP

ничё не понимаю, откуда берётся eth1 ? у меня только eth0

Оффлайн starling13

  • Участник
  • *
  • Сообщений: 239
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #40 : 17 Сентября 2009, 00:03:05 »
Цитировать
ничё не понимаю, откуда берётся eth1 ? у меня только eth0
А!, у вас же всего одна сетевая не до роутера, а до коммутатора.
Тогда наверно для NAT нужен адрес, который выдают при подключении pppoe
то есть второй вариант:
IP1="`ifconfig ppp0 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $8}' | sed -e 's/addr://'`"Опять же сначала проверяем в терминале.
А дипазон сети подключённой к eth0 всё равно 192.168.1.0/24. Если только один компьютер пускать в интернет через убунту, то лучше не диапазон, а его адрес и написать. например 192.168.1.35/32
« Последнее редактирование: 17 Сентября 2009, 00:08:06 от starling13 »

Оффлайн Dec

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #41 : 17 Сентября 2009, 11:07:15 »
Цитировать
А дипазон сети подключённой к eth0 всё равно 192.168.1.0/24. Если только один компьютер пускать в интернет через Ubuntu, то лучше не диапазон, а его адрес и написать. например 192.168.1.35/32
Лучше тогда пусть диапазон будет, а то у меня ещё сосед снизу подключен иногда, у него Windows дольше 2-3 недель не стоит, а как переустановит рабочую группу и папки расшарить забывает)

Лан, ну вот похоже dnsmasq работает, на команду dig google.com выдаёт:
(Нажмите, чтобы показать/скрыть)

Настройки iptables
(Нажмите, чтобы показать/скрыть)
вынес в файл firewall.sh и запускаю его sudo sh firewall.sh, и что дальше? инета всё равно нету

Оффлайн starling13

  • Участник
  • *
  • Сообщений: 239
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #42 : 17 Сентября 2009, 19:20:46 »
Наверно сейчас дело не в этом, но надо проверить, работает ли ubuntu по умолчанию как шлюз.
В некоторых дистрибутивах нужно явно включать режим gateway, чтобы работал FORWARD...
...
Точно, в /etc/sysctl.conf
раскомментировать строчку
net.ipv4.conf.default.forwarding=1...
Это из HOWTO с http://ubuntuforums.org/showthread.php?t=713874
Там ещё сказано, что файл может игнорироваться,
тогда после перезагрузки нужно проверить
sudo sysctl net.ipv4.ip_forwardесли всё равно 0,
то придётся явно командой
sysctl -w net.ipv4.ip_forward=1
Также обратите внимание на раздел Configuring iptables (paket filter)
Там рекомендуют использовать маскарадинг - немного отличается от SNAT, я не пользовался и не знаю точно в чём разница. В вашем случае по идее
sudo iptables -P FORWARD ACCEPT
sudo iptables --table nat -A POSTROUTING -o ppp0 -j MASQUERADE
« Последнее редактирование: 17 Сентября 2009, 19:35:50 от starling13 »

Оффлайн Dec

  • Автор темы
  • Участник
  • *
  • Сообщений: 123
    • Просмотр профиля
Re: Интернет шлюз через Ubuntu 9.04
« Ответ #43 : 18 Сентября 2009, 00:48:21 »
Вот теперь заработал инет с этими последними настройками, всем огромное спасибо за помощь!

 

Страница сгенерирована за 0.02 секунд. Запросов: 20.