Помогите разобраться с маршрутизацией

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
DANic
Сообщения: 23
ОС: Arch Linux

Помогите разобраться с маршрутизацией

Сообщение DANic »

Доброго времени суток
Имеется Fedora 8
ifconfig
Spoiler
eth0 Link encap:Ethernet HWaddr 00:11:95:26:5E:BA
inet addr:83.172.0.253 Bcast:83.172.0.255 Mask:255.255.255.128
inet6 addr: fe80::211:95ff:fe26:5eba/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4116383 errors:0 dropped:0 overruns:0 frame:0
TX packets:2955190 errors:0 dropped:0 overruns:3 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3335676297 (3.1 GiB) TX bytes:459984050 (438.6 MiB)
Interrupt:5 Base address:0x2000

eth0:1 Link encap:Ethernet HWaddr 00:11:95:26:5E:BA
inet addr:213.183.105.224 Bcast:213.183.105.239 Mask:255.255.255.240
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:5 Base address:0x2000

eth1 Link encap:Ethernet HWaddr 00:C0:DF:0F:EA:2E
inet addr:192.168.5.254 Bcast:192.168.5.255 Mask:255.255.255.0
inet6 addr: fe80::2c0:dfff:fe0f:ea2e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12722642 errors:76 dropped:63 overruns:15 frame:0
TX packets:24315814 errors:0 dropped:0 overruns:3 carrier:0
collisions:0 txqueuelen:1000
RX bytes:923206546 (880.4 MiB) TX bytes:2652986000 (2.4 GiB)
Interrupt:10 Base address:0xe000

eth1:1 Link encap:Ethernet HWaddr 00:C0:DF:0F:EA:2E
inet addr:192.168.10.254 Bcast:192.168.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xe000

eth1:2 Link encap:Ethernet HWaddr 00:C0:DF:0F:EA:2E
inet addr:192.168.12.254 Bcast:192.168.12.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xe000

eth1:3 Link encap:Ethernet HWaddr 00:C0:DF:0F:EA:2E
inet addr:192.168.13.254 Bcast:192.168.13.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:10 Base address:0xe000

eth2 Link encap:Ethernet HWaddr 00:C0:DF:10:5D:C4
inet addr:10.10.10.10 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::2c0:dfff:fe10:5dc4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:24811508 errors:0 dropped:0 overruns:0 frame:0
TX packets:13932449 errors:0 dropped:0 overruns:5 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1624353158 (1.5 GiB) TX bytes:3085524188 (2.8 GiB)
Interrupt:11

eth2:1 Link encap:Ethernet HWaddr 00:C0:DF:10:5D:C4
inet addr:192.168.4.250 Bcast:192.168.4.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11

eth2:2 Link encap:Ethernet HWaddr 00:C0:DF:10:5D:C4
inet addr:192.168.6.254 Bcast:192.168.6.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11

eth2:3 Link encap:Ethernet HWaddr 00:C0:DF:10:5D:C4
inet addr:192.168.11.254 Bcast:192.168.11.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:11

eth3 Link encap:Ethernet HWaddr 00:80:C8:3D:22:A0
inet addr:82.200.111.42 Bcast:82.200.111.43 Mask:255.255.255.252
inet6 addr: fe80::280:c8ff:fe3d:22a0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:701514 errors:76 dropped:0 overruns:0 frame:76
TX packets:689078 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:375854308 (358.4 MiB) TX bytes:105614199 (100.7 MiB)

ipip3 Link encap:IPIP Tunnel HWaddr
inet addr:10.0.3.2 P-t-P:10.0.3.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MTU:1480 Metric:1
RX packets:1432890 errors:0 dropped:0 overruns:0 frame:0
TX packets:1498349 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:663239837 (632.5 MiB) TX bytes:261808618 (249.6 MiB)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:632877 errors:0 dropped:0 overruns:0 frame:0
TX packets:632877 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:115364069 (110.0 MiB) TX bytes:115364069 (110.0 MiB)

/etc/sysconfig/iptables
Spoiler
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# Восстанавливаем маркировку обратного трафика
-A PREROUTING -i eth1 -m conntrack --ctstate DNAT -m connmark ! --mark 7/0 -j CONNMARK --restore-mark
-A PREROUTING -i eth2 -m conntrack --ctstate DNAT -m connmark ! --mark 7/0 -j CONNMARK --restore-mark

# Маркируем входящий трафик для маршрутизации
# tomline
-A FORWARD -i eth0 -m conntrack --ctstate NEW -j CONNMARK --set-mark 1/1
# ttk
-A FORWARD -i eth3 -m conntrack --ctstate NEW -j CONNMARK --set-mark 2/2
# resgroup
-A FORWARD -i ipip3 -m conntrack --ctstate NEW -j CONNMARK --set-mark 4/4

# levkad address
#-A PREROUTING -s 192.168.5.52 -j ACCEPT
-A PREROUTING -i eth1 -s 192.168.5.0/24 -d ! 192.168.0.0/16 -m connmark --mark 7/0 -j MARK --set-mark 2
# triumf address from Moscow admins
-A PREROUTING -i eth0 -m state --state NEW -d 213.183.105.224 -s 89.175.35.100 -j CONNMARK --set-mark 1

# source routing for network 213.183.105.224/28
# triumf
-A PREROUTING -i eth2 -m connmark --mark 1 -s 192.168.11.1 -j CONNMARK --restore-mark

-A OUTPUT -p tcp --dport 25 -j MARK --set-mark 2
-A OUTPUT -d ! 10.0.3.1 -m conntrack --ctstate NEW -j MARK --set-mark 2

COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:ROOM5 - [0:0]
:RDP - [0:0]

#Mail server
#-A PREROUTING -i eth0 -d 83.172.0.253 -p tcp --dport 25 -j DNAT --to 192.168.5.2

# Remote administration services to SRVAPLICAT
-A PREROUTING -i eth0 -p tcp -m multiport --dports 3389,4899 -j RDP
-A PREROUTING -i eth3 -p tcp -m multiport --dports 3389,4899 -j RDP
# Ресурс
-A RDP -p tcp -m tcp -s 213.183.101.220 -j DNAT --to 192.168.5.3
-A RDP -p tcp -m tcp -s 213.183.126.20 -j DNAT --to 192.168.5.3
-A RDP -p tcp -m tcp -s 109.171.113.251 -j DNAT --to 192.168.5.3
# Касьянов дом
-A RDP -p tcp -m tcp -s 78.140.8.126 -j DNAT --to 192.168.5.3
# КТБИ
-A RDP -p tcp -m tcp -s 213.183.101.53 -j DNAT --to 192.168.5.3
#Муйдинв дом
-A RDP -p tcp -m tcp -s 94.251.111.145 -j DNAT --to 192.168.5.3
-A RDP -j DROP

#buhgalter vetra
-A PREROUTING -i eth0 -p tcp -m tcp --dport 3388 -j DNAT --to 192.168.4.14:3389

# triumf address
-A PREROUTING -i eth0 -d 213.183.105.224 -j DNAT --to 192.168.11.1

-A POSTROUTING -o eth0 -s 213.183.105.224/28 -j ACCEPT
-A POSTROUTING -o eth0 -s ! 83.172.0.253 -j SNAT --to 83.172.0.253
-A POSTROUTING -o eth3 -s ! 82.200.111.42 -j SNAT --to 82.200.111.42

COMMIT

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TOMSK - [0:0]
:LEVBUH - [0:0]
:INTERNET - [0:0]

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT
-A FORWARD -o eth1 -j ACCEPT
-A FORWARD -o eth2 -j ACCEPT
-A FORWARD -i ipip3 -j ACCEPT

# K marshrutizatoru resursa mozhno vsem
-A FORWARD -d 213.183.101.220 -j ACCEPT
-A FORWARD -d 213.183.126.20 -j ACCEPT
-A FORWARD -d 109.171.113.251 -j ACCEPT
# Admin
-A FORWARD -d 78.140.8.126 -j ACCEPT

# Mail server
#-A FORWARD -p tcp -s 192.168.5.2 --dport 25 -j ACCEPT

# Vneshka
-A FORWARD -o ipip3 -j INTERNET
# Гримвис-фарм
-A INTERNET -i eth2 -s 192.168.6.0/24 -j ACCEPT
-A INTERNET -i eth1 -s 192.168.13.0/24 -j ACCEPT
# Vetra 2-i etaj
#-A INTERNET -i eth1 -s 192.168.7.1 -j ACCEPT
# Novosibirsk Parfum
-A INTERNET -i eth1 -s 192.168.10.1 -j ACCEPT
# Triumf
-A INTERNET -i eth2 -s 192.168.11.1 -j ACCEPT
# NeftTransServis
#-A INTERNET -i eth1 -s 192.168.12.0/24 -j ACCEPT

# Tomsk
-A FORWARD -o eth0 -j TOMSK
# Windows update mojno vsem
-A TOMSK -d 77.106.108.195 -j ACCEPT
# ntp.tomsk.ru dlya serverov
-A TOMSK -d 212.73.125.217 -j ACCEPT
# NOD32 Updates
-A TOMSK -d 77.106.108.237 -j ACCEPT
# 2GIS
-A TOMSK -d 78.140.9.6 -j ACCEPT
# Client-Bank
-A TOMSK -m udp -p udp -d 217.18.138.162 --dport 87 -j ACCEPT
# Гримвис-фарм
-A TOMSK -i eth2 -s 192.168.6.0/24 -j ACCEPT
-A TOMSK -i eth1 -s 192.168.13.0/24 -j ACCEPT
# Triumf
-A TOMSK -i eth2 -s 192.168.11.1/32 -j ACCEPT
# Novosibirsk parfum
-A TOMSK -i eth1 -s 192.168.10.0/24 -j ACCEPT
# NeftTransServis
-A TOMSK -i eth1 -s 192.168.12.0/24 -j ACCEPT

# LEVKAD buhgalteria
-A FORWARD -s 192.168.5.53 -j LEVBUH
# Alfabank
-A LEVBUH -m tcp -p tcp -d 217.12.97.25 --dport 1352 -j ACCEPT
# TPSbank
-A LEVBUH -m tcp -p tcp -d 80.72.214.241 --dport 24554 -j ACCEPT
# SberBank
-A LEVBUH -m udp -p udp --dport 87 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# From resgroup
-A INPUT -s 213.183.101.220 -j ACCEPT
-A INPUT -s 109.171.113.251 -j ACCEPT
-A INPUT -s 213.183.126.20 -j ACCEPT
# From admin
-A INPUT -s 78.140.8.126 -j ACCEPT

# Local nets
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
# Resgroup tunnel
-A INPUT -i ipip3 -j ACCEPT

# Mail
-A INPUT -p tcp --dport 25 -j ACCEPT

# ICMP
-A INPUT -p icmp -m limit --limit 15/minute -j ACCEPT

# SSH
# ТИ ТПУ
-A INPUT -p tcp --dport 22 -s 213.183.101.53 -j ACCEPT
#Муйдинов дом
-A INPUT -p tcp --dport 22 -s 94.251.111.145 -j ACCEPT


COMMIT


route -n
Spoiler
Destination Gateway Genmask Flags Metric Ref Use Iface
80.89.128.5 82.200.111.41 255.255.255.255 UGH 0 0 0 eth3
10.0.3.1 0.0.0.0 255.255.255.255 UH 0 0 0 ipip3
82.200.111.40 0.0.0.0 255.255.255.252 U 0 0 0 eth3
81.1.202.56 83.172.0.129 255.255.255.252 UG 0 0 0 eth0
82.211.138.184 83.172.0.129 255.255.255.252 UG 0 0 0 eth0
82.211.134.152 83.172.0.129 255.255.255.248 UG 0 0 0 eth0
217.106.147.0 83.172.0.129 255.255.255.240 UG 0 0 0 eth0
213.183.105.224 0.0.0.0 255.255.255.240 U 0 0 0 eth0
217.8.224.80 83.172.0.129 255.255.255.240 UG 0 0 0 eth0
213.243.97.192 83.172.0.129 255.255.255.224 UG 0 0 0 eth0
80.89.133.32 83.172.0.129 255.255.255.224 UG 0 0 0 eth0
81.1.229.96 83.172.0.129 255.255.255.224 UG 0 0 0 eth0
81.1.229.32 83.172.0.129 255.255.255.224 UG 0 0 0 eth0
82.200.24.0 83.172.0.129 255.255.255.192 UG 0 0 0 eth0
83.172.0.128 0.0.0.0 255.255.255.128 U 0 0 0 eth0
81.1.229.128 83.172.0.129 255.255.255.128 UG 0 0 0 eth0
81.1.232.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
80.89.143.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
91.226.73.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
91.216.211.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
212.192.163.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
82.200.0.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
81.1.250.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
192.168.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
82.200.17.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
92.50.240.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
91.223.120.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
80.89.135.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
82.200.73.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
192.168.13.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.12.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
80.89.147.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
192.168.11.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
82.200.78.0 83.172.0.129 255.255.255.0 UG 0 0 0 eth0
91.217.110.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
91.221.36.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
82.200.122.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
217.79.56.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
91.221.60.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
91.226.12.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
82.200.102.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
82.200.70.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
82.200.4.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
81.1.208.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
82.200.74.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
82.200.76.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
80.250.176.0 83.172.0.129 255.255.254.0 UG 0 0 0 eth0
212.73.124.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
193.106.132.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
194.226.60.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
91.210.72.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
91.211.184.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
195.211.196.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
91.210.184.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
91.211.236.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
188.65.16.0 83.172.0.129 255.255.252.0 UG 0 0 0 eth0
95.170.136.0 83.172.0.129 255.255.248.0 UG 0 0 0 eth0
90.188.112.0 83.172.0.129 255.255.248.0 UG 0 0 0 eth0
31.24.24.0 83.172.0.129 255.255.248.0 UG 0 0 0 eth0
85.143.80.0 83.172.0.129 255.255.248.0 UG 0 0 0 eth0
85.142.80.0 83.172.0.129 255.255.248.0 UG 0 0 0 eth0
92.63.64.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
80.72.208.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
217.29.80.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
90.188.96.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
77.245.160.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
85.143.64.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
84.237.0.0 83.172.0.129 255.255.240.0 UG 0 0 0 eth0
213.183.96.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
212.107.224.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
82.117.160.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
176.65.32.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
95.170.96.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
92.126.224.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
82.117.64.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
212.192.96.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
95.174.192.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
195.208.160.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
62.68.128.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
92.243.96.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
90.188.64.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
217.18.128.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
46.243.128.0 83.172.0.129 255.255.224.0 UG 0 0 0 eth0
213.210.64.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
46.236.128.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
109.124.0.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
78.139.192.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
83.172.0.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
92.125.0.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
95.191.0.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
31.211.0.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
77.106.64.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
109.227.192.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
78.140.0.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
46.161.128.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
78.136.192.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
109.123.128.0 83.172.0.129 255.255.192.0 UG 0 0 0 eth0
88.204.0.0 83.172.0.129 255.255.128.0 UG 0 0 0 eth0
79.136.128.0 83.172.0.129 255.255.128.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ipip3

в /etc/rc.local 2 скрипта для маршрутизации
/opt/scripts/tomsk/routes.pl
Spoiler
#!/usr/bin/perl -w

my $gw_tomsk = "83.172.0.253";
my $next_hop = "83.172.0.129";

open (TOMSK, "</opt/scripts/tomsk/tomskNets.txt") or die "Cannot open tomsknets $!\n";
while (<TOMSK>) {
chomp;
system("/sbin/ip ro add $_ via $next_hop dev eth0 src $gw_tomsk proto static");
}
close(TOMSK);

`ip route add default via 83.172.0.129 dev eth0 src 83.172.0.253 table tomline`;
`ip route add 172.0.0.1/8 dev lo table tomline`;
`ip route add 192.168.4.0/24 dev eth2 table tomline`;
`ip route add 192.168.5.0/24 dev eth1 table tomline`;
`ip route add 192.168.6.0/24 dev eth2 table tomline`;
`ip route add 192.168.10.0/24 dev eth1 table tomline`;
`ip route add 192.168.11.1 dev eth2 table tomline`;
`ip route add 192.168.12.0/24 dev eth1 table tomline`;
`ip route add 192.168.13.0/24 dev eth1 table tomline`;
`ip route add 10.10.10.0/24 dev eth2 table tomline`;
`ip rule add fwmark 1 table tomline`;
`ip rule add from 83.172.0.253 table tomline`;
`ip rule add from 213.183.105.224 table tomline`;
# so-plus.yandex.ru - спамоборона
#`ip rule add to 213.180.204.68 table ttk`;

`ip route add default via 82.200.111.41 dev eth3 src 82.200.111.42 table ttk`;
`ip route add 172.0.0.1/8 dev lo table ttk`;
`ip route add 192.168.4.0/24 dev eth2 table ttk`;
`ip route add 192.168.5.0/24 dev eth1 table ttk`;
`ip route add 192.168.6.0/24 dev eth2 table ttk`;
`ip route add 192.168.10.0/24 dev eth1 table ttk`;
`ip route add 192.168.11.1 dev eth2 table ttk`;
`ip route add 192.168.12.0/24 dev eth1 table ttk`;
`ip route add 192.168.13.0/24 dev eth1 table ttk`;
`ip route add 213.183.101.220 via 83.172.0.129 dev eth0 table ttk`;
`ip rule add fwmark 2 table ttk`;
`ip rule add from 82.200.111.42 table ttk`;
# so-plus.yandex.ru - спамоборона
`ip rule add to 213.180.204.68 table ttk`;

`ip route add default via 10.0.3.1 dev ipip3 table resgroup`;
`ip route add 172.0.0.1/8 dev lo table resgroup`;
`ip route add 192.168.4.0/24 dev eth2 table resgroup`;
`ip route add 192.168.5.0/24 dev eth1 table resgroup`;
`ip route add 192.168.6.0/24 dev eth2 table resgroup`;
`ip route add 192.168.10.0/24 dev eth1 table resgroup`;
`ip route add 192.168.11.1 dev eth2 table resgroup`;
`ip route add 192.168.12.0/24 dev eth1 table resgroup`;
`ip route add 192.168.13.0/24 dev eth1 table resgroup`;
`ip route add 10.10.10.0/24 dev eth2 table resgroup`;
`ip rule add fwmark 4 table resgroup`;
`ip rule add from 10.0.3.2 table resgroup`;

`ip route add 80.89.128.5 via 82.200.111.41 dev eth3`


/opt/scripts/ipip3.sh start
Spoiler
#!/bin/sh

IPIP_DEV=ipip3
OUT_IP=83.172.0.253
OUT_GW=83.172.0.129
IPIP_SRV=213.183.101.220
PS_GRAY_SRV=10.0.3.1
PS_GRAY_CLI=10.0.3.2
LOG=/var/log/${IPIP_DEV}_log

case "$1" in
start)
echo "create $IPIP_DEV tunnel" >> $LOG 2>&1
/sbin/ip tu ad $IPIP_DEV mode ipip local $OUT_IP remote $IPIP_SRV ttl 255 >> $LOG 2>&1
ifconfig $IPIP_DEV $PS_GRAY_CLI pointopoint $PS_GRAY_SRV up
echo "delete current default route" >> $LOG
/sbin/ip ro de default >> $LOG 2>&1
echo "setting default route" >> $LOG
/sbin/ip route add default dev $IPIP_DEV >> $LOG 2>&1
;;
stop)
ifconfig $IPIP_DEV down
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start | stop | restart"
;;
esac

ip rule list
Spoiler
0: from all lookup local
32758: from 10.0.3.2 lookup resgroup
32759: from all fwmark 0x4 lookup resgroup
32760: from all to 213.180.204.68 lookup ttk
32761: from 82.200.111.42 lookup ttk
32762: from all fwmark 0x2 lookup ttk
32763: from 213.183.105.224 lookup tomline
32764: from 83.172.0.253 lookup tomline
32765: from all fwmark 0x1 lookup tomline
32766: from all lookup main
32767: from all lookup default


Проблемы, понять логику всего этого (от и куда польется трафик).
Просмотреть как реально пошли пакеты с определенных подсетей (на какой интерфейс ушли, отбились или нет что произошло если отбились) (возможно тут tcpdump надо покурить?)

Сервак достался уже настроенный, из него торчит 4 сетевых кабеля 2 смотрят во вне (eth0 (городской интернет, вроде бы с него внешка недоступна но могу ошибаться) и eth3 (внешка) ну и 2 внутрь. Недавно рубануло свет после чего одна их фирм сидящих в нете через этот сервак жалуется на очень медленный нет, пров присылал своего техника они проверили свое оборудование все в порядке, пингую сервак из вне на оба внешних интерфейса жуткие потери, пингую его изнутри (из сетки 192.168.5.0/24) на обоих интефейсах все хорошо, пингую с fedor'ы ya.ru потерь нет. Возможно ли такая рекция при повреждении железа (сервак стоит за упсом, но походу рубануло и его) или все таки что то программно слетело?
Спасибо сказали:
Аватара пользователя
KiWi
Бывший модератор
Сообщения: 2521
Статус: статус, статус, статус

Re: Помогите разобраться с маршрутизацией

Сообщение KiWi »

Сразу видно, что правила писались в разное время и, скорее всего, разными людьми. :-)

Вот маркировка трафика:

Код: Выделить всё

# Маркируем входящий трафик для маршрутизации
# tomline
-A FORWARD -i eth0 -m conntrack --ctstate NEW -j CONNMARK --set-mark 1/1
# ttk
-A FORWARD -i eth3 -m conntrack --ctstate NEW -j CONNMARK --set-mark 2/2
# resgroup
-A FORWARD -i ipip3 -m conntrack --ctstate NEW -j CONNMARK --set-mark 4/4

# levkad address
#-A PREROUTING -s 192.168.5.52 -j ACCEPT
-A PREROUTING -i eth1 -s 192.168.5.0/24 -d ! 192.168.0.0/16 -m connmark --mark 7/0 -j MARK --set-mark 2
# triumf address from Moscow admins
-A PREROUTING -i eth0 -m state --state NEW -d 213.183.105.224 -s 89.175.35.100 -j CONNMARK --set-mark 1
...
-A OUTPUT -p tcp --dport 25 -j MARK --set-mark 2
-A OUTPUT -d ! 10.0.3.1 -m conntrack --ctstate NEW -j MARK --set-mark 2


Плюс правила маршрутизации:

Код: Выделить всё

`ip rule add fwmark 1 table tomline`;
`ip rule add from 83.172.0.253 table tomline`;
`ip rule add from 213.183.105.224 table tomline`;
...
`ip rule add fwmark 2 table ttk`;
`ip rule add from 82.200.111.42 table ttk`;
# so-plus.yandex.ru - спамоборона
`ip rule add to 213.180.204.68 table ttk`;
...
`ip rule add fwmark 4 table resgroup`;
`ip rule add from 10.0.3.2 table resgroup`;


Имея эти знания + таблицЫ маршрутизации, для которых route бесполезен, потому что неспособен их показать(это, кстати, к флейму о том, почему стоит использовать iproute2) -- можно нарисовать какой "новый" трафик куда пойдёт.

А дальше -- берётся листок бумаги.
На нём рисуется каждая таблица маршрутизации -- какая сеть через какой интерфейс и, может быть, шлюз отправляется.
После этого -- рисуются условия, при которых трафик попадает в каждую таблицу маршрутизации -- согласно маркировкам в iptables и ip rule.
В конце, если появится желание, можно на схеме нарисовать ещё больше стрелочек -- пририсовать обратные маршруты(учитывая restore-mark в iptables). Туда же можно добавить -- не NEW, а ESTABLISHED/RELATED трафик, следующий в том же направлении, что и NEW -- тоже с учётом restore-mark.

P.S.:
Трафик в обратную сторону может пойти совершенно по-другому -- всё зависит от того, насколько правильно восстанавливаются маркировки.
Да и тот же трафик, но не попавший под условие маркировки(то есть не NEW) -- тоже может захотеть пойти по-другому. И это опять зависит от того, насколько правильно восстанавливается маркировка пакетов.
Но это уже не так важно, так как идея того и куда он должен ходить по задумке будет понятна.

P.P.S.:
Стоит понимать, что ip rule выполняются ровно в том порядке, в котором они следуют -- то есть трафик от 10.0.3.2 с fwmark 0x2 сначала пройдёт через таблицу resgroup. И только потом, возможно, в таблицу ttk(если в resgroup не найдётся маршрут).

P.P.P.S.:
А потери, подозреваю, из-за:

Код: Выделить всё

# ICMP
-A INPUT -p icmp -m limit --limit 15/minute -j ACCEPT

Что попросили -- то iptables и делает. Подозреваю, там 75% "потерь"(с интервалом pingа по умолчанию в 1 секунду).
На lo, eth1, eth2, ipip3 данное правило не распространяется.
Спасибо сказали:
Аватара пользователя
DANic
Сообщения: 23
ОС: Arch Linux

Re: Помогите разобраться с маршрутизацией

Сообщение DANic »

Возникла проблема по этой части
Spoiler

# Tomsk
-A FORWARD -o eth0 -j TOMSK
# Windows update mojno vsem
-A TOMSK -d 77.106.108.195 -j ACCEPT
# ntp.tomsk.ru dlya serverov
-A TOMSK -d 212.73.125.217 -j ACCEPT
# NOD32 Updates
-A TOMSK -d 77.106.108.237 -j ACCEPT
# 2GIS
-A TOMSK -d 78.140.9.6 -j ACCEPT
# Client-Bank
-A TOMSK -m udp -p udp -d 217.18.138.162 --dport 87 -j ACCEPT

# Гримвис-фарм
-A TOMSK -i eth2 -s 192.168.6.0/24 -j ACCEPT
-A TOMSK -i eth1 -s 192.168.13.0/24 -j ACCEPT
# Triumf
-A TOMSK -i eth2 -s 192.168.11.1/32 -j ACCEPT
# Novosibirsk parfum
-A TOMSK -i eth1 -s 192.168.10.0/24 -j ACCEPT
# NeftTransServis
-A TOMSK -i eth1 -s 192.168.12.0/24 -j ACCEPT

# LEVKAD buhgalteria
-A FORWARD -s 192.168.5.53 -j LEVBUH
# Alfabank
-A LEVBUH -m tcp -p tcp -d 217.12.97.25 --dport 1352 -j ACCEPT
# TPSbank
-A LEVBUH -m tcp -p tcp -d 80.72.214.241 --dport 24554 -j ACCEPT
# SberBank
-A LEVBUH -m udp -p udp --dport 87 -j ACCEPT

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT



Эти строчки были написаны для работы клиент банков, отказались от провайдера на eth0, соответственно все банки перестали работать , остался только пров на eth3, поменял в первой строке 0 на 3, но работать ничего не стало, если через роутер подключать к этому же прову а не через шлюз то все работает, то есть проблема не в клиентской машине и не в провайдере. куда можно еще копнуть что бы понять что мешает корректно работать? ощущение что порты закрыты, но правила не менялись (кроме eth) и все работало..


[root@levkad ~]# iptables -nvL
Spoiler

Chain INPUT (policy DROP 133 packets, 8361 bytes)
pkts bytes target prot opt in out source destination
1978 613K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT all -- * * 213.183.101.220 0.0.0.0/0
0 0 ACCEPT all -- * * 109.171.113.251 0.0.0.0/0
0 0 ACCEPT all -- * * 213.183.126.20 0.0.0.0/0
0 0 ACCEPT all -- * * 78.140.8.126 0.0.0.0/0
225 16556 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
438 34737 ACCEPT all -- eth1 * 0.0.0.0/0 0.0.0.0/0
117 10413 ACCEPT all -- eth2 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- ipip3 * 0.0.0.0/0 0.0.0.0/0
39 1980 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
130 7768 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 15/min burst 5
0 0 ACCEPT tcp -- * * 213.183.101.53 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 94.251.111.145 0.0.0.0/0 tcp dpt:22

Chain FORWARD (policy DROP 113 packets, 7652 bytes)
pkts bytes target prot opt in out source destination
5500 1071K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED,DNAT
0 0 ACCEPT all -- * eth1 0.0.0.0/0 0.0.0.0/0
9 1167 ACCEPT all -- * eth2 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- ipip3 * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- * * 0.0.0.0/0 213.183.101.220
0 0 ACCEPT all -- * * 0.0.0.0/0 213.183.126.20
0 0 ACCEPT all -- * * 0.0.0.0/0 109.171.113.251
0 0 ACCEPT all -- * * 0.0.0.0/0 78.140.8.126
123 8240 INTERNET all -- * ipip3 0.0.0.0/0 0.0.0.0/0
123 8240 TOMSK all -- * * 0.0.0.0/0 0.0.0.0/0
21 1008 LEVBUH all -- * * 192.168.5.53 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 2713 packets, 679K bytes)
pkts bytes target prot opt in out source destination

Chain INTERNET (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth2 * 192.168.6.0/24 0.0.0.0/0
0 0 ACCEPT all -- eth1 * 192.168.13.0/24 0.0.0.0/0
0 0 ACCEPT all -- eth1 * 192.168.10.1 0.0.0.0/0
0 0 ACCEPT all -- eth2 * 192.168.11.1 0.0.0.0/0

Chain LEVBUH (1 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 217.12.97.25 tcp dpt:1352
0 0 ACCEPT tcp -- * * 0.0.0.0/0 80.72.214.241 tcp dpt:24554
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:87

Chain TOMSK (1 references)
pkts bytes target prot opt in out source destination
6 288 ACCEPT all -- * * 0.0.0.0/0 77.106.108.195
0 0 ACCEPT all -- * * 0.0.0.0/0 212.73.125.217
4 300 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:87
0 0 ACCEPT all -- eth2 * 192.168.6.0/24 0.0.0.0/0




Еще несколько догадок. после отключения прова на eth0 перестали идти пинги из сети 5.0/24 хотя страницы открываются. так же стоит SQUID странички открывают через него, но с клиент банками он работать не умеет, так что они никогда через него не ходили. Не пойму где весь инет кроме сквида направляется на eth0. На сомам unixe пинги ходят норм,
Спасибо сказали: