Вход для пользователей

IPTables: Определение динамического ip на стадии загрузки системы.

Изображение пользователя D3viL.

Привет пытливый линуксойд!
Мучаешься с динамическим IP адресом?
Эта проблема мне знакома!

Когда то давно, во времена DialUP я тоже ломал голову.

В итоге — накидал небольшой скрипт для определения IP адреса:

function get_ip()
{
IFCFG='/sbin/ifconfig';
FIRST='head -2';
SEC='tail -1';
THIRD='cut -d: -f2';
RESULT=`$IFCFG $1 | $FIRST | $SEC | awk '{print $2}' | $THIRD`;
echo $RESULT;
}

Его можно вставить прямо в rc.firewall.

Определять переменные нужно так:

INET_IFACE="ppp0"
LAN_IFACE="eth1"
WIFI_IFACE="ath0"
INET_IP=`get_ip $INET_IFACE`
LAN_IP=`get_ip $LAN_IFACE`
WIFI_IP=`get_ip $WIFI_IFACE`

Надеюсь это поможет тебе!

Комментарии

Изображение пользователя Grifon.

Если бы всё было так просто... Как правило соединения рвутся, а ip имеет свойство меняться... Если выход через pppd, то лучше использовать скрипты /etc/ppp/ip-{up,down}, внутри которых определены переменные:
$1 - interface-name
$2 - tty-device
$3 - speed
$4 - local-IP-address
$5 - remote-IP-address
$6 - ipparam

И, например, мы можем писать туда:
iptables -t nat -A POSTROUTING -o $1 -j SNAT --to-source $4
iptables -A FORWARD -s 192.168.0.0/24 -o $1 -j ACCEPT
Ну или как фантазии приглючит

Изображение пользователя D3viL.

Твои камменты рулят, как всегда. :)

Думаю мой скрипт подойдет для stream ОРБИТА, там IP меняется раз в месяц.(собственно, из-за этого и отрыл его в своих архивах)

Для десктопов, естественно.

не подскажете как его ещё и на мыло отправить?

Изображение пользователя Grifon.

echo 123| mail -s "myip" user@domain
Должен быть запущен почтовый демон.
Интересует отправка по smtp?

echo x.x.x.x | ipmail.pl your@mail

ipmail.pl:

#!/usr/bin/perl

use MIME::Lite;

while(){
  $msgbody=$msgbody.$_;
}
$msg = MIME::Lite->new(
    From => 'me',
    To => $ARGV[0],
    Subject => 'my ip',
    Type => 'text/plain',
    Data => "$msgbody"
);
$msg->send( 'smtp','smtp.server.ip' );

я в перле не селён

можно весь скрипт полностью, чтобы на почту отправлял IP хоста :)

Изображение пользователя D3viL.

Дак это он и есть.
вставь код в файл и готово.

Изображение пользователя Grifon.

почему-то внутри тэга code вырезался <stdin>

есть более простой способ.
можно настроить динамический ДНС
услуга бесплатная.
причем если произойдет реконнект, ddclient (в зависимости от настроек) автоматически поменяет IP у доменного имени.

сайт dyndns.com

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".