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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Не работает NAT, что не так делаю? (проблема со squid)  (Прочитано 12269 раз)

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

Оффлайн Alexz

  • Новичок
  • *
  • Сообщений: 49
    • Просмотр профиля
у тебя в качестве dns сервером указан адрес твоего шлюза
Цитировать
dns 172.16.0.1
Клиенты посылают  DNS-запросы на этот адрес, а там он не работает... А по адресу выданному провайдером имеется DNS сервер, поэтому и инет у тебя работает.
маскарад- это когда файрвол сам автоматически определяет внешний интерфейс (его IP адрес) и перезаписывает адрес источника в пакете адресом внешнего интерфейса файервола.
снат (SNAT)- когда ты сам задаешь адрес источника, который ты используешь для покидающих Вашу локальную сеть пакетов.
KUbuntu 22.10 x64

Оффлайн Userz

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Все примеры организации NAT, которые я нашел, были именно через MASQUERADE.
Чем SNAT лучше или хуже?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Либо плохо смотрели, либо эти "все примеры" относились к ppp с пляшущими IP на реконнекте.
Если у тебя внешний IP не меняется от смены фазы луны (i.e. от ребута до ребута), MASQUERADE будет попусту жрать ресурсы, лучше SNAT использовать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Userz

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
eth0 (внешняя) ip:192.168.7.100/24 gw:192.168.7.1 dns:10.10.10.10
eth1 (внутренняя) ip:172.16.0.1/24
нужно посредством нат пробросить интернет на 1 ПК
ip:172.16.0.2/24 gw:172.16.0.1 dns1:172.16.0.1 dns2:10.10.10.10
если:
$iptables -A FORWARD -i eth1 -s 172.16.0.0/255.255.255.0 -j ACCEPT
$iptables -A FORWARD -i eth0 -d 172.16.0.0/255.255.255.0 -j ACCEPT
$iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
все работает, нашел пример через SNAT
$iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to-source 192.168.7.1
$iptables -P FORWARD ACCEPT
не работает, в чем ошибка?
И еще, если через MASQUERADE iptables -L отображается правило, а через SNAT нет.
« Последнее редактирование: 25 Августа 2009, 14:16:08 от Userz »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
читать документацию до просветления.
Ошибка очевидная.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн Userz

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
AnrDaemon
Спасибо за содержательный ответ.
А ошибку таки нашел
$iptables -P FORWARD ACCEPT
$iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to-source 192.168.7.100

Всем спасибо.

Оффлайн AnrDaemon

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

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

Оффлайн Userz

  • Любитель
  • *
  • Сообщений: 96
    • Просмотр профиля
Еще вопрос, если нужно пробросить через NAT только пакеты в направлении определенного IP нужно для каждого IP прописывать правило? Типа:
$iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -d 100.100.100.1 -j SNAT --to-source 192.168.7.100
$iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -d 100.100.100.2 -j SNAT --to-source 192.168.7.100
$iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -d 100.100.100.3 -j SNAT --to-source 192.168.7.100
и т.д.
И еще вопрос
Хотел пробросить через NAT пакеты в направлении определенных портов
$iptables -t nat -A POSTROUTING -s 172.16.0.0/24 --dports 1024-65535 -j SNAT --to-source 192.168.7.100
не заработало, пришлось прописывать для каждого IP правило.

Оффлайн AnrDaemon

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

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

Оффлайн obsessionsys

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
    • IT-MEHANIKA
https://forum.ubuntu.ru/index.php?topic=54691.0   Посмотри пригодиться, хорошая весчь....без всяких юзергейтов на масдае и т.д. весть трафик vpn посчитает
Что бы хорошее становилось лучшим, а лучшее - совершенным!

Оффлайн vworld

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
iptables -A FORWARD -d 192.168.0.2 -j ACCEPT
iptables -A FORWARD -s 192.168.0.2 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.0.2 -j MASQUERADE
схема у меня такая
eth0 в провайдера смотрит
wlan0 в локалку
сейчас получается следующее
с ноута (192.168.0.2) пинги ходят до wlan0
с ноута пинги ходят до eth0
но пинги на шлюз не идут так же как и до сервера VPN
хотя с самой машинки (мой шлюз) нормально идет в инет
что подскажете?

 

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