Results 1 to 11 of 11

Thread: Static NAT

  1. #1

    Static NAT

    Можно ли на WL-500gP настроить NAT таким образом чтобы один внутриний айпишник из LAN натился в определенный внешний айпиншник?
    Например весь LAN 192.168.1.0/24 натится в 1.1.1.1, и только 192.168.1.100/24 натится в 1.1.1.2

  2. #2
    Join Date
    Feb 2008
    Location
    Moscow, Tver
    Posts
    3,962
    Quote Originally Posted by RET View Post
    Можно ли на WL-500gP настроить NAT таким образом чтобы один внутриний айпишник из LAN натился в определенный внешний айпиншник?
    Например весь LAN 192.168.1.0/24 натится в 1.1.1.1, и только 192.168.1.100/24 натится в 1.1.1.2
    Да, iptables в помощь.

  3. #3
    Quote Originally Posted by vectorm View Post
    Да, iptables в помощь.
    Ну это то понятно, хотелось бы посмотреть примерные конфиги

  4. #4

    Post

    Ну если понятно то читаем МАН http://iptables-tutorial.frozentux.net/

    PHP Code:
    iptables -t nat -A POSTROUTING -s 192.168.1.100/32 -o vlan7 -j SNAT --to-source 1.1.1.2
    iptables 
    -t nat -A POSTROUTING -s 192.168.1.0/24 -o vlan7 -j SNAT --to-source 1.1.1.1 
    Забыл добавить 1-е правило для конкретных IP-адресов только потом пля подсети.
    Last edited by Less; 10-03-2009 at 07:24.
    wl500gp-1.9.2.7-d-r1222 + StoreJet 35 Ultra >>> rtorrent+rutorrent -|- lighhtpd + ssl + auth -|- vnStat + vnStat PHP frontend -|- vsftpd -|- squid + lightsquid...

  5. #5
    Прописал, но всё равно пакеты от 192.168.1.100/32 уходят в инет с source адресом 1.1.1.1 а не 1.1.1.2 как надо. Адрес 1.1.1.2 повесил алиасом на интерфейс vlan1. Может ещё надо что то прописать?

  6. #6
    Покажыте вывод
    Code:
    iptables -L -nvt nat
    wl500gp-1.9.2.7-d-r1222 + StoreJet 35 Ultra >>> rtorrent+rutorrent -|- lighhtpd + ssl + auth -|- vnStat + vnStat PHP frontend -|- vsftpd -|- squid + lightsquid...

  7. #7
    маскарад убери который там по умолчанию
    wl-500gp + AGESTAR IUBCP + HDD Seagete 80 GB = 1.9.2.7-10 + lighttp + perl + sqlite2 + php + ados + rtorrent + Kaspersky update + squid(–enable-delay-pools) + rrd + smb + ntp + ftp + half-dynamic shaping...

  8. #8
    вот, только 192.168.1.0 в реальности 172.16.22.0
    PHP Code:
    Chain PREROUTING (policy ACCEPT 5619 packets334K bytes)
     
    pkts bytes target     prot opt in     out     source               destination
        0     0 DNAT       tcp  
    --  vlan1  *       0.0.0.0/0            0.0.0.0/0          tcp dpt:6100 to:172.16.22.5:7777
        0     0 DNAT       tcp  
    --  vlan1  *       0.0.0.0/0            0.0.0.0/0          tcp dpt:6000 to:172.16.22.44:8888
        0     0 DNAT       tcp  
    --  vlan1  *       0.0.0.0/0            0.0.0.0/0          tcp dpt:5900 to:172.16.22.14:9999
     3650  190K VSERVER    all  
    --  *      *       0.0.0.0/0            1.1.1.1

    Chain POSTROUTING 
    (policy ACCEPT 1243 packets74715 bytes)
     
    pkts bytes target     prot opt in     out     source               destination
      587 23506 MASQUERADE  all  
    --  *      vlan1  !1.1.1.1        0.0.0.0/0
        4   908 MASQUERADE  all  
    --  *      br0     172.16.22.0/24       172.16.22.0/24
        0     0 SNAT       all  
    --  *      vlan1:1  172.16.22.100          0.0.0.0/0          to:10.1.8.13

    Chain OUTPUT 
    (policy ACCEPT 1247 packets75623 bytes)
     
    pkts bytes target     prot opt in     out     source               destination

    Chain VSERVER 
    (1 references)
     
    pkts bytes target     prot opt in     out     source               destination 
    У меня есть ещё один алиас на интерфейсе vlan1 и через него идет маршрут, и адрес в который я хочу натить 172.16.22.100 на самом деле не реальный 1.1.1.2 а серый из подсети 10.1.8.0. Может быть изза него не получается и надо натить только в реальный айпишник
    PHP Code:
    ifconfig vlan1:0 10.1.8.35 netmask 25.255.255.0 up
    route add 
    -net 10.1.0.0 netmask 255.255.0.0 gw 10.1.8.1 dev vlan1:

  9. #9
    Добавте в файл /usr/local/sbin/post-firewall
    Code:
    iptables -t nat -I POSTROUTING 1 -s 172.16.22.100 -o vlan1:0 -j SNAT --to-source 10.1.8.13
    iptables -t nat -I POSTROUTING 2 -s 172.16.22.0/24 -o vlan1:0 -j SNAT --to-source 1.1.1.1
    Не забудьте выполнить flashfs save && flashfs commit && flashfs enable

    iptables -t nat -I POSTROUTING 2 - правило будет №2 в таблице POSTROUTING.

    Маскарад уберать не нужно (иначе вообще некуда пакеты уходить не будут, их будет дропать шлюз прова), необходимо просто добрать нашы правила перед маскарадом.

    В правилах должен быть тот интерaейс с которого выходите (vlan1:0).

    Поправте адреса ибо я запуталя
    wl500gp-1.9.2.7-d-r1222 + StoreJet 35 Ultra >>> rtorrent+rutorrent -|- lighhtpd + ssl + auth -|- vnStat + vnStat PHP frontend -|- vsftpd -|- squid + lightsquid...

  10. #10
    Join Date
    May 2007
    Location
    Истра
    Posts
    1,246
    iptables не понимает имена интерфейсов с двоеточием. Используйте просто vlan1.

  11. #11
    Quote Originally Posted by Power View Post
    iptables не понимает имена интерфейсов с двоеточием. Используйте просто vlan1.
    Да, действительно не понимает! Всё заработало как хотел и с одним только правилом
    PHP Code:
    iptables -t nat -I POSTROUTING 1 -s 172.16.22.100 -o vlan1 -j SNAT --to-source 10.1.8.13 
    ну и плюс интерфейс vlan1:1 с ip 10.1.8.13 как я уже писал
    Всем большое спасибо за помощь!

    P.S. коробочка конечно классная, позволяет превратить любую больную фантазию в жизнь

Similar Threads

  1. I need help assigning static ip addresses
    By Fullback in forum WL-700g Firmware Discussion
    Replies: 4
    Last Post: 24-01-2008, 02:03

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •