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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: как считать ip c интерфеса и вставить в iptables  (Прочитано 865 раз)

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

Оффлайн admin4ek

  • Автор темы
  • Участник
  • *
  • Сообщений: 105
    • Просмотр профиля
 как сделать так чтоб в iptables например  в строку  $EXT_IP=  постоянно при включении кома или пере загрузке айпитаблес подставлялся адресс с ppp0

Пользователь решил продолжить мысль 19 Июня 2009, 16:36:03:
есть сервер с реальным динамическим айпи, есть аккаунт на NO ip, задача при запросе к ДНС имени сервера на порт 8000 попасть на сервер в ДМЗ зоне на порт 8000.
пробрасываю так
EXT_IP  - типа статический адресс, собственно поле в которое нужно подставлять значение
PORT_VID - порт сервера в ДМЗ зоне
VS - сервер в ДМЗ зоне
INT_IP - айпи сервера в ДМЗ зону
$IPT -t nat -I PREROUTING -d $EXT_IP -p tcp --dport $PORT_VID -j DNAT --to-destination $VS:$PORT_VID
$IPT -t nat -I POSTROUTING -d $VS -p tcp --dport $PORT_VID -j SNAT --to-source $INT_IP
$IPT -t filter -I FORWARD -d $VS -p tcp --dport $PORT_VID -j ACCEPT
Это все у мну работало со статикой.
« Последнее редактирование: 19 Июня 2009, 18:36:59 от admin4ek »

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
попробуй использовать средства ppp то бишь при поднятии интерфейса ppp  демон ppp запускает скрипты из папки /etc/ppp/ip-up.d  при этом передаются в эти скрипты переменные типа какой удаленный ип какой тебе дали и так далее список доступных переменных описаны в скрипте /etc/ppp/ip-up
Сам так делал при динамическом ip на ppp интерфейсе в итоге эти правила твои будут прописывается при поднятии ppp интерфейса с передачей в него ip который тебе и нужен

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
как сделать так чтоб в iptables например  в строку  $EXT_IP=  постоянно при включении кома или пере загрузке айпитаблес подставлялся адресс с ppp0

Кусок кода задающего таблицы. Некоторые(!) переменные не заданы.
(Нажмите, чтобы показать/скрыть)

Полный скрипт catch-mask определения маски диапазона ip адресов подсети к которой принадлежит указанный как параметр ip адрес одного из интерфейсов на машине где запускается скрипт.
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 20 Июня 2009, 00:29:43 от u-375 »
StarDict и Mueller помогут против английского мануала.

Оффлайн AnrDaemon

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

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

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Адреса могут оказаться злонамеренно подставлены. Потому и то и то должно быть на контроле, т.е. в использовании. В общем случае.

Может быть интересна возможность контроля доступности сервиса на каком-то конкретном адресе. Хотя это нужно дополнительно контролировать самими настройками сервисов.
« Последнее редактирование: 20 Июня 2009, 00:32:00 от u-375 »
StarDict и Mueller помогут против английского мануала.

Оффлайн silent_lab

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
 EXT_IP=ifconfig$INTIF | awk "/inet addr/{print \$2}" | tr -d "inet addr:" - у меня так в фаерволе определяю IP если известно что он постоянно меняетси

$INTIF - и имя интерфейса скотоорого надо прочитать IP ( к примеру  $INTIF="ppp0") :)
 попробуй может поможет !

Оффлайн terrible_user

  • Активист
  • *
  • Сообщений: 438
    • Просмотр профиля
А если использовать MASQUERADE в замен  SNAT
Например
$IPTABLES -t nat -A POSTROUTING -s $MASK_LAN -o $IF_OUT -j MASQUERADE
Бери больше, кидай дальше

 

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