Настройка NAT

classic Classic list List threaded Threaded
21 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Настройка NAT

Ivanov Maxim

Собрал дома второй комп и вот теперь балуюсь с настройками сети в Linux. Так и
не смог настроить NAT. И так что мы имеем:

Компьютер с Gentoo и выходом в инет:
eth0 = 192.168.0.2/24
eth1 = adsl
ppp0 =  10.1.12.5

Второй комп:
IP = 192.168.0.1/24
GATEWAY = 192.168.0.2
DNS = IP адреса DNS провайдера

скрипт фаервола:
# Interface to Internet
EXTIF=ppp+

ANY=0.0.0.0/0

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -F FORWARD
iptables -F INPUT
iptables -F OUTPUT
iptables -t nat -F POSTROUTING

# Deny TCP and UDP packets to privileged ports
iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j LOG
iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j DROP
iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j LOG
iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j DROP

# Deny TCP connection attempts
iptables -A INPUT -i $EXTIF -p tcp --dccp-types SYNC -j LOG
iptables -A INPUT -i $EXTIF -p tcp --dccp-types SYNC -j DROP

# Deny ICMP echo-requests

# Do masquerading
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o $EXTIF -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

В итоге со второго компа пингует ppp0, но все что дальше (например DNS
провайдера)  - нет.
--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Denis Gubanov
echo "1"  > /proc/sys/net/ipv4/ip_forward  делал?

19.11.05, Maxim Ivanov<[hidden email]> написал(а):

>
> Собрал дома второй комп и вот теперь балуюсь с настройками сети в Linux. Так и
> не смог настроить NAT. И так что мы имеем:
>
> Компьютер с Gentoo и выходом в инет:
> eth0 = 192.168.0.2/24
> eth1 = adsl
> ppp0 =  10.1.12.5
>
> Второй комп:
> IP = 192.168.0.1/24
> GATEWAY = 192.168.0.2
> DNS = IP адреса DNS провайдера
>
> скрипт фаервола:
> # Interface to Internet
> EXTIF=ppp+
>
> ANY=0.0.0.0/0
>
> iptables -P INPUT ACCEPT
> iptables -P OUTPUT ACCEPT
> iptables -P FORWARD DROP
>
> iptables -F FORWARD
> iptables -F INPUT
> iptables -F OUTPUT
> iptables -t nat -F POSTROUTING
>
> # Deny TCP and UDP packets to privileged ports
> iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j LOG
> iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j DROP
> iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j LOG
> iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j DROP
>
> # Deny TCP connection attempts
> iptables -A INPUT -i $EXTIF -p tcp --dccp-types SYNC -j LOG
> iptables -A INPUT -i $EXTIF -p tcp --dccp-types SYNC -j DROP
>
> # Deny ICMP echo-requests
>
> # Do masquerading
> iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o $EXTIF -j MASQUERADE
> echo 1 > /proc/sys/net/ipv4/ip_forward
>
> В итоге со второго компа пингует ppp0, но все что дальше (например DNS
> провайдера)  - нет.
> --
> Maxim Ivanov <[hidden email]>
>
>
> --
> [hidden email] mailing list
>
>


--
С уважением к Вам,
Руководитель отдела информационных технологий компании "Европартнер",
Губанов Денис Владимирович

+7 926 5739258 (моб.)
+7 095 2254145
+7 095 5053855
+7 095 5052755

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Mad Deer
In reply to this post by Ivanov Maxim
Maxim Ivanov пишет:

> Собрал дома второй комп и вот теперь балуюсь с настройками сети в Linux. Так и
> не смог настроить NAT. И так что мы имеем:
>
> Компьютер с Gentoo и выходом в инет:
> eth0 = 192.168.0.2/24
> eth1 = adsl
> ppp0 =  10.1.12.5
>
> Второй комп:
> IP = 192.168.0.1/24
> GATEWAY = 192.168.0.2
> DNS = IP адреса DNS провайдера
>
> скрипт фаервола:
> # Interface to Internet
> EXTIF=ppp+
>
> ANY=0.0.0.0/0
>
> iptables -P INPUT ACCEPT
> iptables -P OUTPUT ACCEPT
> iptables -P FORWARD DROP
>
> iptables -F FORWARD
> iptables -F INPUT
> iptables -F OUTPUT
> iptables -t nat -F POSTROUTING
>
> # Deny TCP and UDP packets to privileged ports
> iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j LOG
> iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j DROP
> iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j LOG
> iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j DROP
>
> # Deny TCP connection attempts
> iptables -A INPUT -i $EXTIF -p tcp --dccp-types SYNC -j LOG
> iptables -A INPUT -i $EXTIF -p tcp --dccp-types SYNC -j DROP
>
> # Deny ICMP echo-requests
>
> # Do masquerading
> iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o $EXTIF -j MASQUERADE
> echo 1 > /proc/sys/net/ipv4/ip_forward
>
> В итоге со второго компа пингует ppp0, но все что дальше (например DNS
> провайдера)  - нет.
у тебя ведь по умолчанию iptables -P FORWARD DROP
а ACCEPT для него нет. надо ещё

$IPTABLES -A FORWARD -i eth0 -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

а вот это
 > iptables -P INPUT ACCEPT
лучше на DROP сделай. ты же его закрывать файерволом должен, а ты наоборот открываешь.
--
Да здравствует то, благодаря чему мы, несмотря ни на что.(c) Задорнов
Registered Linux User #317544
Linux 2.6.14.2 i686 AMD Athlon(tm) XP 2200+
--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Ivanov Maxim
> у тебя ведь по умолчанию iptables -P FORWARD DROP
> а ACCEPT для него нет. надо ещё
>
> $IPTABLES -A FORWARD -i eth0 -j ACCEPT
> $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Спасибо за подсказку! В итоге конфиг фаервола превратился в следующее:
====================/etc/ppp/ip-up.local==========================
EXTIF=ppp+

ANY=0.0.0.0/0

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! $EXTIF -j ACCEPT
iptables -A INPUT -m state --state NEW -i $EXTIF -j LOG
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j LOG
iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j LOG
iptables -P INPUT DROP
=========================================================

Но возникла другая проблема. ip-up.local не выполняется при коннекте! Хотя в
конце /etc/ppp/ip-up есть строка:
[ -f /etc/ppp/ip-up.local ] && . /etc/ppp/ip-up.local "$@"

т.е. он же должен выполняться! Если полсе коннекта вручную запустить
/etc/ppp/ip-up.local то он выполняется и фаервольные правила создаются.

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re[2]: Настройка NAT

Andrey Tropichev
Здравствуйте, Maxim.

Вы писали 21 ноября 2005 г., 18:19:49:

MI> Спасибо за подсказку! В итоге конфиг фаервола превратился в следующее:
MI> ====================/etc/ppp/ip-up.local==========================
MI> EXTIF=ppp+

MI> ANY=0.0.0.0/0

MI> iptables -F
MI> iptables -t nat -F
MI> iptables -t mangle -F
MI> iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
MI> iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
MI> iptables -A INPUT -m state --state NEW -i ! $EXTIF -j ACCEPT
MI> iptables -A INPUT -m state --state NEW -i $EXTIF -j LOG
MI> iptables -A INPUT -p icmp -j ACCEPT
MI> iptables -A INPUT -i $EXTIF -d $ANY -p udp --dport 0:1023 -j LOG
MI> iptables -A INPUT -i $EXTIF -d $ANY -p tcp --dport 0:1023 -j LOG
MI> iptables -P INPUT DROP
MI> =========================================================

MI> Но возникла другая проблема. ip-up.local не выполняется при коннекте! Хотя в
MI> конце /etc/ppp/ip-up есть строка:
MI> [ -f /etc/ppp/ip-up.local ] && . /etc/ppp/ip-up.local "$@"

MI> т.е. он же должен выполняться! Если полсе коннекта вручную запустить
MI> /etc/ppp/ip-up.local то он выполняется и фаервольные правила создаются.

MI> --
MI> Maxim Ivanov <[hidden email]>
  Итак, по-порядку:
 
  #/etc/ppp/ip-up.local
  #/etc/init.d/iptables save
  #rc-update add iptables default

  а в конец /etc/conf.d/local.start добавь строку:
  echo 1 > /proc/sys/net/ipv4/ip_forward

  Так это вроде-бы делается, или я чего-то не понимаю;))

--
С уважением,
 Tropyichev Andrey                         mailto:[hidden email]

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Ivanov Maxim
>   #/etc/ppp/ip-up.local
>   #/etc/init.d/iptables save
>   #rc-update add iptables default

Ну по докам-то так, только для постоянного соединения. У меня соединение не при
загрузке устанавливается,а вручную, запуском adsl-start. При загрузке просто не
будет интерфейса ppp0, как же для него тогда буду правила прописаны?

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Alexander Tratsevskiy
In reply to this post by Andrey Tropichev
>а в конец /etc/conf.d/local.start добавь строку:
>echo 1 > /proc/sys/net/ipv4/ip_forward

Лучше для этого редактировать здесь:
cat /etc/sysctl.conf
# Disables packet forwarding
net.ipv4.ip_forward = 1

Для вступления изменений в силу, можно выполнить:
/sbin/sysctl -p


--
Александр Трацевский
ЗАО "Калкулэйт Пак"
http://www.calculate.ru
+7 812 3363632
+7 095 7727678
[hidden email]

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re[2]: Настройка NAT

Andrey Tropichev
In reply to this post by Ivanov Maxim
Здравствуйте, Maxim.

Вы писали 21 ноября 2005 г., 21:02:32:

>>   #/etc/ppp/ip-up.local
>>   #/etc/init.d/iptables save
>>   #rc-update add iptables default

MI> Ну по докам-то так, только для постоянного соединения. У меня соединение не при
MI> загрузке устанавливается,а вручную, запуском adsl-start. При загрузке просто не
MI> будет интерфейса ppp0, как же для него тогда буду правила прописаны?

MI> --
MI> Maxim Ivanov <[hidden email]>


    Тогда напиши скрипт с запуском adsl-start а следом установка
    правил. Кстати у меня на паре рутеров adsl-start прописан в
    local.start, а он, насколько мне помнится, выполняется после
    default runlevel'а. Так вот там всё и так работает.

    Кстати, при настройке adsl-setup есть такая фича - установить
    файрвол. Только он там ipchains запускать пытается а не iptables.
    Ну так его и переделать можно.


--
С уважением,
 Tropyichev Andrey                         mailto:[hidden email]

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Ivanov Maxim
>     Кстати, при настройке adsl-setup есть такая фича - установить
>     файрвол. Только он там ipchains запускать пытается а не iptables.
>     Ну так его и переделать можно.

Ага, только скрипт фаервола хранится в /etc/ppp/firewall-* которые обновляются
при каждом обновлениие rp-pppoe.

И все-таки насчет ip-up.local. Я конечно понимаю что можно создать скрипт
который сначала adsl-setup вызовет, потом настройку фаервола сделает, но хочется
как-то придерживаться "Gentoo way" =)

В ходе экспериментов я выяснил, что ip-up и из него ip-up.local все же
вызываются при установлении соединения. Но такое ощущение, что именно вовремя, а
не сразу после, т.е. сами интерфесы ppp0 еще не создались и сразу же после
выполнения ip-up они буду созданы. От этого видимо и грабли =( Как побороть по
уму пока не знаю.
--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re[2]: Настройка NAT

Andrey Tropichev
Здравствуйте, Maxim.

MI> Ага, только скрипт фаервола хранится в /etc/ppp/firewall-* которые обновляются
MI> при каждом обновлениие rp-pppoe.

MI> И все-таки насчет ip-up.local. Я конечно понимаю что можно создать скрипт
MI> который сначала adsl-setup вызовет, потом настройку фаервола сделает, но хочется
MI> как-то придерживаться "Gentoo way" =)

    Глупый вопрос:
    И чем-же, по твоему, наш way не Gentoo way?

--
С уважением,
 Tropyichev Andrey                         mailto:[hidden email]

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Ivanov Maxim
>     Глупый вопрос:
>     И чем-же, по твоему, наш way не Gentoo way?

Ну rc-update add iptables default как вы предложили - gentoo way, но мне не
походит, т.к. грузится при загрузке системы.

local.start уже менее gentoo way поскольку больше похоже на костыли ;) и тоже не
подходит по вышеназванной причине.

Моя задача настроить фаервол при поднятии соединения, поидее для этого
предназначен ip-up скрипт, но он отработав, всё равно не прописывает правила.

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

analyzer-2
In reply to this post by Ivanov Maxim
On Mon, 2005-11-21 at 14:02 +0300, Maxim Ivanov wrote:

> >   #/etc/ppp/ip-up.local
> >   #/etc/init.d/iptables save
> >   #rc-update add iptables default
>
> Ну по докам-то так, только для постоянного соединения. У меня соединение не при
> загрузке устанавливается,а вручную, запуском adsl-start. При загрузке просто не
> будет интерфейса ppp0, как же для него тогда буду правила прописаны?
>
> --
> Maxim Ivanov <[hidden email]>
>
>
adsl можно поднимать при загрузке как /etc/init.d/net.eth0 start.
Главное настроить его там.

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re[2]: Настройка NAT

Andrey Tropichev
Здравствуйте, analyzer.

Вы писали 21 ноября 2005 г., 23:14:35:

a> adsl можно поднимать при загрузке как /etc/init.d/net.eth0 start.
a> Главное настроить его там.

   -????

--
С уважением,
 Tropyichev Andrey                         mailto:[hidden email]

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

[GRU] вопрос

---2
Здоровэньки булы, хлопчики :)
Народ, что-то я немогу поставить GRUB на SATA диск, подскажите
что-нить плз.

имеем: /dev/sda5 reiserfs /boot
       /dev/sda6 sw       swap
       /dev/sda7 reiserfs /



--
Best regards,
 wan                            mailto:[hidden email]


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: [GRU] вопрос

Anton Kvashin
>  имеем: /dev/sda5 reiserfs /boot /dev/sda6 sw swap /dev/sda7 reiserfs /


#grub
root (hd0,4) -- расположение раздела /boot
setup (hd0) -- поселить его в MBR sda

--
Anton Kvashin
--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re[2]: [GRU] вопрос

---2
Tuesday, November 22, 2005, 10:31:47 AM, you wrote:

>>  имеем: /dev/sda5 reiserfs /boot /dev/sda6 sw swap /dev/sda7 reiserfs /


> #grub
> root (hd0,4) -- расположение раздела /boot
> setup (hd0) -- поселить его в MBR sda

спасибо большое,............ а я делал root (hd0,6).....

--
Best regards,
 wan                            mailto:[hidden email]


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Bugzilla from blaster999@gmail.com
In reply to this post by Andrey Tropichev
On Tuesday 22 November 2005 00:30, Tropyichev Andrey wrote:
> Здравствуйте, analyzer.
>
> Вы писали 21 ноября 2005 г., 23:14:35:
>
> a> adsl можно поднимать при загрузке как /etc/init.d/net.eth0 start.
> a> Главное настроить его там.
>
>    -????
>

Можно в /etc/conf.d/net прописать

config_eth0=("adsl")

Тогда при загрузке net.eth0 будет поднят adsl
--
Elegance and truth are inversely related.
                -- Becker's Razor

--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Mad Deer
In reply to this post by Ivanov Maxim
Maxim Ivanov пишет:
> Но возникла другая проблема. ip-up.local не выполняется при коннекте! Хотя в
> конце /etc/ppp/ip-up есть строка:
> [ -f /etc/ppp/ip-up.local ] && . /etc/ppp/ip-up.local "$@"
>
у меня так

[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local "$@"
> т.е. он же должен выполняться! Если полсе коннекта вручную запустить
> /etc/ppp/ip-up.local то он выполняется и фаервольные правила создаются.
>
так ведь iptablesу пофиг на наличие интерфейса.
у меня модем и блутус.
интерфейсы тоже появляются только при установке соединения,
а фаервол поднимаю один раз при загрузке. и всё работает.

--
Да здравствует то, благодаря чему мы, несмотря ни на что.(c) Задорнов
Registered Linux User #317544
Linux 2.6.14.2 i686 AMD Athlon(tm) XP 2200+
--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Ivanov Maxim
> так ведь iptablesу пофиг на наличие интерфейса.

Ого действительно!  ;) Нелогично конечно но ведь работает, и удобно! ;) Странно
тогда, что из ip-up.local не срабатывало. Сделал как у тебя, спасибо.

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

Reply | Threaded
Open this post in threaded view
|

Re: Настройка NAT

Ivanov Maxim
In reply to this post by Ivanov Maxim

Возникла неожиданная проблема. ~через сутки все маршруты которые я прописывал
вручную через ip route add сбрасываются и их приходится вводить заново.

--
Maxim Ivanov <[hidden email]>


--
[hidden email] mailing list

12