LINUX.ORG.RU

Помогите правильно пропустить трафик

 , ,


0

1

Здравствуйте. Имеется DHCP сервер на линуксе, интернет к нему приходит по PPPoE. Сам сервер является vpn клиентом, и все локальные клиенты сервера ходят в интернет через tun0.

Вопрос заключается в том, что перенаправить трафик к определённому айпи адресу, через провайдера, мимо впн.

Камнями сильно не бросайте )

# iptables -t nat -S
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-A POSTROUTING -o tun0 -j MASQUERADE
# ifconfig
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.1  netmask 255.255.255.0  broadcast 192.168.5.255
        inet6 fe80::2e0:4cff:fe68:3b4  prefixlen 64  scopeid 0x20<link>
        ether 00:e0:4c:68:03:b4  txqueuelen 1000  (Ethernet)
        RX packets 4683406  bytes 987500966 (987.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5178280  bytes 2702072411 (2.7 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether b8:ae:ed:f4:e2:76  txqueuelen 1000  (Ethernet)
        RX packets 5345030  bytes 3445954251 (3.4 GB)
        RX errors 0  dropped 22277  overruns 0  frame 0
        TX packets 5005361  bytes 1694240241 (1.6 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 463598  bytes 131308553 (131.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 463598  bytes 131308553 (131.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1400
        inet 10.10.22.43  netmask 255.255.255.255  destination x.x.x.x
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 5312067  bytes 3324373617 (3.3 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5004600  bytes 1584116188 (1.5 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1500
        inet 172.27.3.3  netmask 255.255.255.0  destination 172.27.3.3
        inet6 fe80::b57c:e7bf:9392:ab6  prefixlen 64  scopeid 0x20<link>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 100  (UNSPEC)
        RX packets 5097129  bytes 2467908868 (2.4 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4790077  bytes 963801124 (963.8 MB)
        TX errors 0  dropped 53 overruns 0  carrier 0  collisions 0 

Ответ на: комментарий от zaz

беру свои слова назад, я дурак сначала кинул на подсеть Кинул точно на айпи адрес, вроде полетело, по крайней мере на сервере На клиентах точно завтра проверю и отпишусь )

new_erak ()
Ответ на: комментарий от zaz

а у меня есть аналогичное правило на tun0 они не станут между собой конфликтовать? мне же нужно, чтобы весь траф шёл через tun0 и только нужная айпи через ppp0

new_erak ()
Ответ на: комментарий от zaz

возможно я не правильно выразился. Не будет ли при таком правиле локалка пытаться выходить в интернет через ppp0 вместо tun0 ?

new_erak ()
Ответ на: комментарий от new_erak

POSTROUTING на маршрутизацию трафика никак не влияет, он обрабатывает пакеты уже после того как системы приняла решение в какой интерфейс его нужно отправить. Это правило (маскарад) просто подменяет IP отправителя (IP адресс компьютера в локальной сети на IP адресс роутера) для того чтоб получатель этого пакета во внешней сети смог отправить ответ на него

zaz ★★★★ ()
Ответ на: комментарий от zaz

просто дело в том, что до маскарадинга tun0 у меня в локалке интернета не было. Интернет в локалке в принципе раздаётся только через маскарадинг tun0, больше нигде не настраивал ничего ) того и переживаю )

new_erak ()
Ответ на: комментарий от zaz

теперь осталась одна проблема при падении tun0 клиенты в локалке начинают ходить через ppp0 в интернет. А раньше при падении tun0 инет у них просто падал. Как это решить можно? заранее спасибо огромное

new_erak ()
Ответ на: комментарий от new_erak

Читается как Все что пришло из enp2s0 и должно быть отправлено через ppp0 не на разрешенный IP адресс - нужно дропнуть

zaz ★★★★ ()
Ответ на: комментарий от zaz

при применении этого правила, из локалки пакеты на allowed_ip идут на сервер и там умирают( Убираю правило - всё идёт как нужно

new_erak ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.