LinuxForum.Fans
Тема

Не работает NAT

Автор: scotch 35 сообщений 8896 просмотров
#151131

всем спасибо за помощь

#173211

Всем доброго время суток!) заранее хочу сказать спасибо форумчанам всегда помогают,находят свободное время и остаются соучастными в проблеме темы до конца)
Не хотел создавать новую тему не хочу засорять в случае чего повторными темами
Вопрос вот в чем все те же любимые правила iptables
есть eth0 - локальный интерфейс,
eth1:1 - интерфейс с белым айпи с интернетом
Мне нужно завернуть трафик с одного айпи - 192.168.1.200 из подсети eth0 192.168.1.0/24 на eth1:1 интерфейс чтобы интернет шел на прямую, будте добры разобраться с правилами
пытался прописать следующее не помогло
iptables -t nat -A POSTROUTING -o eth1:1 -s 192.168.1.200 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1:1 ACCEPT
iptables -A FORWARD -i eth1:1 -o eth0 -j REJECT

#173248

iptables -A FORWARD -i eth0 -o eth1:1 ACCEPT
iptables -A FORWARD -i eth1:1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1:1 -s 192.168.1.200 -j MASQUERADE

#206094

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

Имеется шлюз с 2-мя интерфейсами:
eth0 (внутренний) - 192.168.0.1
eth1 (внешний) - 5.5.5.5

На eth1 приходит интернет от провайдера (IPoE)
С интерфейса eth0 раздаются ИПы по дхцп в локальную сеть (192.168.0.0/24)

Машины с сети 192.168.0.0/24 должны подключаться к шлюзу через l2tp/pptp на eth0, и через него выходить в интернет.
Каким образом решить задачу средствами iptables?

#206105
feby написал:

С интерфейса eth0 раздаются ИПы по дхцп в локальную сеть (192.168.0.0/24)

Машины с сети 192.168.0.0/24 должны подключаться к шлюзу через l2tp/pptp на eth0, и через него выходить в интернет.

У тебя напрямую машины подключены к eth0 какие еще l2tp/pptp? :o
Читай http://linuxforum.ru/viewtopic.php?id=13140 многие вопросы сами отпадут.

#206141
newzenon написал:

У тебя напрямую машины подключены к eth0 какие еще l2tp/pptp? :o

Я не понимаю вашего удивления. Люди делают шлюзы и используют VPN посредством PPTP/PPoE. Вот и я хочу попробовать. Передо мной стоит цель раздать интернет на ПК именно таким образом

#206153
feby написал:
Вот и я хочу попробовать. Передо мной стоит цель раздать интернет на ПК именно таким образом

Дак кто ж мешает, начинай делать, задавай вопросы, готового на блюдечке нечего ждать, тогда и будет разговор, а так ни о чем.

#206365

iptables -F
iptables -F -t nat
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.0.0/24 -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i eth0 -o eth1 -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -d 192.168.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT

Вот как то так. Интернет работает. Но без впн. А надо чтоб сеть 192.168.0.0/24 попадала в инет только через ppp0
Вот думаю как натить ppp0 (ppp0 у меня на eth0)

#206369

feby, пропиши вместо eth0 - ppp0.
И покажи вывод комманд:

text
ifconfig
ifconfig -a
feby написал:
Интернет работает. Но без впн.

Вот на этом моменте подробней, а то не понятно ничего.

#206399

Пользуйся тегами code/console при написании сообщений, кашу читать не буду.

#206403

[console]#!/bin/sh
iptables -F
iptables -F -t nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward[/console]

Инет работает:

[console]eth0 Link encap:Ethernet HWaddr 08:00:27:2b:34:f7
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe2b:34f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:364 errors:0 dropped:0 overruns:0 frame:0
TX packets:244 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31524 (31.5 KB) TX bytes:16375 (16.3 KB)

eth1 Link encap:Ethernet HWaddr 08:00:27:50:f3:ad
inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.25
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:291 errors:0 dropped:0 overruns:0 frame:0
TX packets:230 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:221471 (221.4 KB) TX bytes:16904 (16.9 KB)[/console]

Поднимаю впн:

[console]eth0 Link encap:Ethernet HWaddr 08:00:27:2b:34:f7
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a00:27ff:fe2b:34f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:364 errors:0 dropped:0 overruns:0 frame:0
TX packets:244 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31524 (31.5 KB) TX bytes:16375 (16.3 KB)

eth1 Link encap:Ethernet HWaddr 08:00:27:50:f3:ad
inet addr:10.0.3.15 Bcast:10.0.3.255 Mask:255.25
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:291 errors:0 dropped:0 overruns:0 frame:0
TX packets:230 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:221471 (221.4 KB) TX bytes:16904 (16.9 KB)

ppp0 Link encap:Протокол PPP (Point-to-Point Protocol)
inet addr:10.10.0.1 P-t-P:10.10.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:103 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:7541 (7.5 KB) TX bytes:120 (120.0 B)[/console]

Инет не работает. На ПК шлюз по-умолчанию 10.10.0.2. Все пакеты бегут туда
Вот как завернуть все в туннель

зы удали тогда предыдущее сообщение

#206407

feby а так

text

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle
 
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
#Маскардинг в инет и локалку
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#206432
Kettler написал:
а так
text

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle
 
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
 
#Маскардинг в инет и локалку
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Работает. С поднятым впн, и без него.

Зато работает вот так:
без поднятого туннеля интернета нет, создаётся новый ppp-интерфейс - интернет есть

[console]#!/bin/sh
iptables -F
iptables -F -t nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -s 10.10.0.0/24 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward[/console]
Костыли smile не?

#206451
feby написал:

Зато работает вот так:
без поднятого туннеля интернета нет, создаётся новый ppp-интерфейс - интернет есть

[console]#!/bin/sh
iptables -F
iptables -F -t nat
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -s 10.10.0.0/24 -j MASQUERADE

echo 1 > /proc/sys/net/ipv4/ip_forward[/console]
Костыли smile не?

До первого ребута?

#206494
Kettler написал:

До первого ребута?

После ребута работает.
10.10.0.0/24 это пул впн ип адресов для сети 192.168.0.0/24, которые выдает впн сервер.

Войдите или зарегистрируйтесь, чтобы ответить.