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


За новостями русскоязычного сообщества и Ubuntu в целом можно следить на нашей страничке в Google+

Автор Тема: iptables для P-t-P соединенных маршрутизаторов. НАТ!  (Прочитано 1698 раз)

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

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Всем добрый день!
Вопрос прозаичный.. и всем надокучивший. Но его продолжают и продолжают задавать.
Прошу не критиковать, и не обвинять в дублеже постов.

Дело обстоит так, у нас шлюзом стояла Циска as5350, увеличение ADSL клиентов (а соответственно аксесс-листов и шейп-групп ан ней) привело к тому, что ее ЦПУ просто не выдерживает такой нагрузки и начал чуть ли не каждый день выявлять тем свое недовольство: задыхаясь,теряя пинг с локалки, увеличивая задержки пакетов из локалки, что сказалось на работе интернете почти всего когтингетна клиентов.
Поэтому я решил поставить шлюзом Ubuntu_сервер, а циску оставить на диалап.

Вся проблема в том, что на циске было P-T-P соединение с нашим провом, который маршрутизирует нам реальные айпишники по /28. У него на интерфейсе, который смотрит на нас 10.127..255.209 /30, соответственно у нас на внешнем интерфейсе было 10.127.255.210/30. НАТ был поднят на одну из айпишек, которую провайдер маршрутизирует к нам.

Как быть с настройкой Ubuntu в этом случае? Експерементировал с iptables, только с айпишки которую выделил сам из своей сети, а за серваком пару компов поставил, для теста. А как дело до финиша дошло, то ступор.

Вопрос :

eth1 (10.127.255.209/30) - смотрит на провайдера.
eth0 (192.168.180.5/30) - смотрит в локалку.
Айпишка, через которую должны ходить все клиенты НАТА = 91.xxx.yyy.zzz, как ее подвесить в айпитейблз? и вообще, возможно ее надо алиасом привязать к тому же внешнему интерфейсу?

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j SNAT --to-source [color=blue]91.xxx.yyy.zzz[/color]- эта строка  будет правильной?, если айпишка на eth1 = 10.127.255.209

Заранее Большая благодарность всем за внимание и терпение.
« Последнее редактирование: 23 Август 2008, 03:27:39 от TrEK »

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Получается, что провайдер выдал вам адреса вида 91.xxx.yyy.zzz и маршрутизирует их через серые адреса вида 10.127.255.209?
Цитировать
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j SNAT --to-source 91.xxx.yyy.zzz
- эта строка  будет правильной?, если айпишка на eth1 = 10.127.255.209
Правильно думаете, на eth1  должен быть этот адрес.

И покажите конфиг цискиесли возможно.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Получается, что провайдер выдал вам адреса вида 91.xxx.yyy.zzz и маршрутизирует их через серые адреса вида 10.127.255.209?
Цитировать
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j SNAT --to-source 91.xxx.yyy.zzz
- эта строка  будет правильной?, если айпишка на eth1 = 10.127.255.209
Правильно думаете, на eth1  должен быть этот адрес.

И покажите конфиг цискиесли возможно.

Да, маршрутизирует их через серые адресса.
А как мне сделать это на Ubuntu, я теряюсь от отсутствия точных знаний об этом.

Ну в конфиге циске по даной проблеме ничего нету особого:

interface FastEthernet0/0
 description to CatalysT
 ip address 192.168.180.5 255.255.255.252
 ip access-group CISCO-OUT in
 ip access-group DIALUP out
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 [b]ip nat inside[/b]
 no ip route-cache cef
 ip tcp adjust-mss 1452
 duplex full
 speed 100
 traffic-shape group 101 768000 19200 19200 1000
 traffic-shape group 102 768000 19200 19200 1000
 traffic-shape group 103 2048000 768000 768000 1000
...
...
...
 traffic-shape group 2140 1024000 25600 25600 1000
 traffic-shape group 2141 1024001 128000 128000 1000
 traffic-shape group 2142 832000 20800 20800 1000
 traffic-shape group 2143 1024000 25600 25600 1000
Это фастезернет, который смотрит в локалку.
__________________________________________________

interface FastEthernet0/1
 description to Polyteh
 ip address 10.127.255.209 255.255.255.252
 ip access-group CISCO-IN in
 ip verify unicast reverse-path
 no ip redirects
 no ip unreachables
 no ip proxy-arp
[b] ip nat outside[/b]
 duplex full
 speed auto

Это внешний интерфейс, который смотрит на провайдера.
_________________________________________________

ip local pool one 192.168.100.1 192.168.100.6
ip nat translation timeout 3
ip nat translation tcp-timeout 3600
ip nat translation udp-timeout 30
ip nat translation finrst-timeout 10
ip nat translation dns-timeout 10
ip nat translation icmp-timeout 10
ip nat translation max-entries 5500
ip nat pool NEW 91.xxx.yyy.zz6 91.xxx.yyy.zz6 netmask 255.255.255.248
ip nat pool DIAL 91.xxx.yyy.zz5 91.xxx.yyy.zz5 netmask 255.255.255.252 type match-host
ip nat inside source list NAT pool NEW overload
ip nat inside source list NAT2 pool DIAL overload
ip classless
ip route 0.0.0.0 0.0.0.0 10.127.255.210
ip route 91.xxx.yyy.zz4 255.255.255.255 192.168.180.6
ip route 91.xxx.yyy.zz8 255.255.255.252 192.168.180.6
ip route 91.xxx.yyy.zz2 255.255.255.252 192.168.180.6
ip route 91.xxx.yyy.zz6 255.255.255.252 192.168.180.6
ip route 172.16.0.0 255.240.0.0 Loopback0
ip route 192.168.0.0 255.255.0.0 192.168.180.6
ip route 193.xxx.yyy.zzz 255.255.255.0 192.168.180.6
no ip http server
А это реализация НАТа на циске... и маршруцтизация, которая я так понимаю должна будет присутствовать на Линуксе?
-192.168.180.6 это айпишка каталисты, которая идет после циски.
-193.xxx.yyy.zzz айпишки нашей автономки.
-NAT и NAT2 - аксесс-листы.. в котрых описаны permit-ы т deny-и.
______


« Последнее редактирование: 23 Август 2008, 21:46:49 от TrEK »

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Маршрутизация безусловно тоже должна присутствовать. По-линуксовски это будет так:
route add  default gw 10.127.255.210
 route add 91.xxx.yyy.zz4 gw 192.168.180.6
 route add 91.xxx.yyy.zz8 gw 192.168.180.6
 route add 91.xxx.yyy.zz2 gw 192.168.180.6
 route add 91.xxx.yyy.zz6 gw 192.168.180.6
 route add -net 172.16.0.0 netmask 255.240.0.0 dev lo
 route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.180.6
 route add  -net 193.xxx.yyy.zzz netmask 255.255.255.0 gw 192.168.180.6
Попробуйте прописать ip, на который натятся клиенты на интерфейс, смотрящий на провайдера командой
ip addr add 91.xxx.yyy.zzz/32 dev pppX
и попросите пингануть кого-нибудь со стороны провайдера. Если пинг пройдёт - уже пол-дела сделано.
Насчёт того, нужен ли данный адрес на интерфейсе для ната - это я точно сказать не могу, нужно поэкспериментировать :)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Маршрутизация безусловно тоже должна присутствовать. По-линуксовски это будет так:
route add  default gw 10.127.255.210
 route add 91.xxx.yyy.zz4 gw 192.168.180.6
 route add 91.xxx.yyy.zz8 gw 192.168.180.6
 route add 91.xxx.yyy.zz2 gw 192.168.180.6
 route add 91.xxx.yyy.zz6 gw 192.168.180.6
 route add -net 172.16.0.0 netmask 255.240.0.0 dev lo
 route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.180.6
 route add  -net 193.xxx.yyy.zzz netmask 255.255.255.0 gw 192.168.180.6
Попробуйте прописать ip, на который натятся клиенты на интерфейс, смотрящий на провайдера командой
ip addr add 91.xxx.yyy.zzz/32 dev pppX
и попросите пингануть кого-нибудь со стороны провайдера. Если пинг пройдёт - уже пол-дела сделано.
Насчёт того, нужен ли данный адрес на интерфейсе для ната - это я точно сказать не могу, нужно поэкспериментировать :)

Ну скажем обрубать канал ради експеримента я не могу.. можна будет попробовать в том же режиме, что я щас настраюю. Тоесть с циски направить реал-айпи нашей автономной системы на сервак.. а там с тестового хоста глянуть через какую айпишку выхожу.. либо через ту что смаршрутизирую, либо через ту что щас есть.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
а вообще на счет маршрутизации.. я с ней не очень знаком на линуксе.
Щас просто на тестовом хосте я интернет вижу.. а вот все компьютеры нашей сети нет )
На линуксе так же надо прописать маршруты?

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
а вообще на счет маршрутизации.. я с ней не очень знаком на линуксе.
Щас просто на тестовом хосте я интернет вижу.. а вот все компьютеры нашей сети нет )
На линуксе так же надо прописать маршруты?
Опять же непонятно, какую сеть?  как включена? какие адреса назначены?
пробуйте прописать маршруты, пример я показал, ну и справка конечно в помощь. На всякий случай включите ip_forward :)

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
а вообще на счет маршрутизации.. я с ней не очень знаком на линуксе.
Щас просто на тестовом хосте я интернет вижу.. а вот все компьютеры нашей сети нет )
На линуксе так же надо прописать маршруты?
Опять же непонятно, какую сеть?  как включена? какие адреса назначены?
пробуйте прописать маршруты, пример я показал, ну и справка конечно в помощь. На всякий случай включите ip_forward :)

На всякий случай айпи-форвардинг уже включен! )
А я на счет маршрутизации.. это не важно какая сеть не видна. Суть в том, что не прописывая никакие маршруты интернет на хостах после Сервера есть!

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Маршрутизация безусловно тоже должна присутствовать. По-линуксовски это будет так:
route add  default gw 10.127.255.210
 route add 91.xxx.yyy.zz4 gw 192.168.180.6
 route add 91.xxx.yyy.zz8 gw 192.168.180.6
 route add 91.xxx.yyy.zz2 gw 192.168.180.6
 route add 91.xxx.yyy.zz6 gw 192.168.180.6
 route add -net 172.16.0.0 netmask 255.240.0.0 dev lo
 route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.180.6
 route add  -net 193.xxx.yyy.zzz netmask 255.255.255.0 gw 192.168.180.6
Попробуйте прописать ip, на который натятся клиенты на интерфейс, смотрящий на провайдера командой
ip addr add 91.xxx.yyy.zzz/32 dev pppX
и попросите пингануть кого-нибудь со стороны провайдера. Если пинг пройдёт - уже пол-дела сделано.
Насчёт того, нужен ли данный адрес на интерфейсе для ната - это я точно сказать не могу, нужно поэкспериментировать :)

root@ubuntu:/var/www/mrtg# ip addr add 91.201.156.226/28 dev eth1

root@ubuntu:/var/www/mrtg# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:40:f4:36:64:13
          inet addr:192.168.180.44  Bcast:192.168.180.47  Mask:255.255.255.240
          inet6 addr: fe80::240:f4ff:fe36:6413/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:695729 errors:27 dropped:0 overruns:0 frame:0
          TX packets:553307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:240616841 (229.4 MB)  TX bytes:103308387 (98.5 MB)
          Interrupt:21 Base address:0xd400

Комманда выполнилась.. но на интерфейсе не показывает изменений... хм.

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Не должно ли смотреть изменения на eth1:0  вместо eth1. Если склероз мне не изменяет. Или в выводе ifconfig без параметров.
StarDict и Mueller помогут против английского мануала.

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
root@ubuntu:/var/www/mrtg# ip addr add 91.201.156.226/28 dev eth1

root@ubuntu:/var/www/mrtg# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:40:f4:36:64:13
          inet addr:192.168.180.44  Bcast:192.168.180.47  Mask:255.255.255.240
          inet6 addr: fe80::240:f4ff:fe36:6413/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:695729 errors:27 dropped:0 overruns:0 frame:0
          TX packets:553307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:240616841 (229.4 MB)  TX bytes:103308387 (98.5 MB)
          Interrupt:21 Base address:0xd400

Комманда выполнилась.. но на интерфейсе не показывает изменений... хм.
Используйте ip addr show. ifconfig уже признан устаревшим

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
root@ubuntu:/var/www/mrtg# ip addr add 91.201.156.226/28 dev eth1

root@ubuntu:/var/www/mrtg# ifconfig eth1
eth1      Link encap:Ethernet  HWaddr 00:40:f4:36:64:13
          inet addr:192.168.180.44  Bcast:192.168.180.47  Mask:255.255.255.240
          inet6 addr: fe80::240:f4ff:fe36:6413/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:695729 errors:27 dropped:0 overruns:0 frame:0
          TX packets:553307 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:240616841 (229.4 MB)  TX bytes:103308387 (98.5 MB)
          Interrupt:21 Base address:0xd400

Комманда выполнилась.. но на интерфейсе не показывает изменений... хм.
Используйте ip addr show. ifconfig уже признан устаревшим


root@ubuntu:/var/log/mrtg# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb qlen 1000
    link/ether 00:48:54:55:95:e9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.180.5/30 brd 192.168.180.7 scope global eth0
    inet 91.xxx.yyy.zzz/28 scope global eth0
    inet6 fe80::248:54ff:fe55:95e9/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:40:f4:36:64:13 brd ff:ff:ff:ff:ff:ff
    inet 10.127.255.209/30 brd 10.127.255.211 scope global eth1
    inet 91.xxx.yyy.zzz/28 scope global eth1
    inet6 fe80::240:f4ff:fe36:6413/64 scope link
       valid_lft forever preferred_lft forever
4: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:48:54:56:ed:82 brd ff:ff:ff:ff:ff:ff


________________________________________

Ой... теперь 91.xxx.yyy.zzz/28 и на eth0 и на eth1 :)
Как на eth0 удалить 91.xxx.yyy.zzz/28 ?

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Справкой учимся пользоваться
# ip addr help
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                                      [ CONFFLAG-LIST]
       ip addr del IFADDR dev STRING
       ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Справкой учимся пользоваться
# ip addr help
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                                      [ CONFFLAG-LIST]
       ip addr del IFADDR dev STRING
       ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS


 :-[ будем учиться больше )
Спасибо.

Оффлайн TrEK

  • Автор темы
  • Активист
  • *
  • Сообщений: 738
  • good day in FolK-King life :)
    • Просмотр профиля
    • smallprogs.ru
Справкой учимся пользоваться
# ip addr help
Usage: ip addr {add|change|replace} IFADDR dev STRING [ LIFETIME ]
                                                      [ CONFFLAG-LIST]
       ip addr del IFADDR dev STRING
       ip addr {show|flush} [ dev STRING ] [ scope SCOPE-ID ]
                            [ to PREFIX ] [ FLAG-LIST ] [ label PATTERN ]
IFADDR := PREFIX | ADDR peer PREFIX
          [ broadcast ADDR ] [ anycast ADDR ]
          [ label STRING ] [ scope SCOPE-ID ]
SCOPE-ID := [ host | link | global | NUMBER ]
FLAG-LIST := [ FLAG-LIST ] FLAG
FLAG  := [ permanent | dynamic | secondary | primary |
           tentative | deprecated | CONFFLAG-LIST ]
CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG
CONFFLAG  := [ home | nodad ]
LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]
LFT := forever | SECONDS


root@ubuntu:/etc# sudo /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                                     
RTNETLINK answers: No such process
                                                                                    [ OK ]

Почему комманда перегрузки выдает RTNETLINK answers: No such process ? на это не стоит обращать внимания или это серьезная ошибка?

 

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