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


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

Автор Тема: iptables, доступ в инет  (Прочитано 743 раз)

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

Оффлайн dovran7777

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
iptables, доступ в инет
« : 30 Марта 2015, 17:25:04 »
Задача в том чтобы только один комп в сети получал доступ в инет (10.110.1.70)
Сервер Ubuntu 14.04
два интерфейса
em1: 10.10.10.1 - инет
em2: 10.110.1.1 - локальная сеть

sudo iptables -F
sudo iptables -t nat -F

sudo iptables -t nat -A PREROUTING -p tcp -d 10.10.10.1 --dport 80 -j DNAT --to-destination 10.110.1.70:80
sudo iptables -t nat -A POSTROUTING -p tcp --dst 10.110.1.70 --dport 80 -j SNAT --to-source 10.10.10.1

iptables-save > /etc/network/iptables

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28512
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #1 : 30 Марта 2015, 17:58:31 »
Всё неправильно.

iptables -A FORWARD -s 10.110.1.70 -j ACCEPT

Права доступа контролируются в цепочке filter, а не где вам вздумается.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн dovran7777

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #2 : 31 Марта 2015, 06:27:28 »
Всё неправильно.

iptables -A FORWARD -s 10.110.1.70 -j ACCEPT

Права доступа контролируются в цепочке filter, а не где вам вздумается.

то есть вот так?
iptables -F
iptables -t nat -F
iptables -A FORWARD -s 10.110.1.70 -j ACCEPT
iptables-save > /etc/network/iptables

Сделал, вроде не пашет

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #3 : 31 Марта 2015, 09:13:11 »
Вам говорили только про фильтрацию. Про NAT, в частности про SNAT, никто не оговаривался. Правда в Вашей интерпретации он мёртвый.

Ваш последний скрипт - попытка сделать открытую дверь ещё более открытой...

К тому же, скорее всего, забыли разрешить форвард пакетов
Смотреть здесь:
sysctl net.ipv4.ip_forward
Изучите на досуге прикреплённую тему про расшаривание интернета. Когда научитесь расшаривать интернет для подсети, тогда и с одним хостом справитесь.

Оффлайн dovran7777

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #4 : 31 Марта 2015, 14:56:16 »
iptables -t nat -A POSTROUTING -s 10.110.0.70 -j MASQUERADEИ заработало)

форвардинг был включён, я его включал.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #5 : 31 Марта 2015, 16:31:23 »
Это самое быстрое и почти чётко выраженное правило (ибщобы -o em1 добавить).

Но  есть минус... Я бы всё же запретил беспорядочный пропуск пакетов
sudo iptables -P FORWARD DROP
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptavles -A FORWARD -s 10.110.0.70 -em1 -j ACCEPT

Оффлайн Karl500

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 2267
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #6 : 31 Марта 2015, 16:56:14 »
Насколько я понимаю, адрес интерфейса статический? Тогда лучше использовать не MASQUERADE, a SNAT (http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO-6.html)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28512
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #7 : 31 Марта 2015, 20:58:33 »
Всё неправильно.

iptables -A FORWARD -s 10.110.1.70 -j ACCEPT

Права доступа контролируются в цепочке filter, а не где вам вздумается.

то есть вот так?
iptables -F
iptables -t nat -F
iptables -A FORWARD -s 10.110.1.70 -j ACCEPT
iptables-save > /etc/network/iptables

Сделал, вроде не пашет
Сколько раз можно просить - НЕ НАДО показывать сферические команды в вакууме.
Показывайте iptables-save, если хотите подсказок по вашим правилам.

iptables -t nat -A POSTROUTING -s 10.110.0.70 -j MASQUERADEИ заработало)

форвардинг был включён, я его включал.
Смотрите выше - неправильно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: iptables, доступ в инет
« Ответ #8 : 01 Апреля 2015, 09:15:41 »
Тогда лучше использовать не MASQUERADE, a SNAT
Для одного адреса не думаю, что это критичное замечание. Да и для небольшой сети тоже.
ИМХО, применение SNAT вместо MASQUERADE является скорее оптимизационной мерой. Для хоум-роутеров на базе старого системника маскарад вполне удобоваримый и более прозрачен для понимания начинающему администратору. Для железных роутеров с ограниченными ресурсами - да, как раз лучше применить SNAT. Но опять же.. исключительно для оптимизации с целью снижения нагрузки на ядро.

 

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