На сколько я понял проблема с маршрутизацией, так как не сильно в этом разбираюсь могу ошибаться.Стоит OpenSUSE 11.
Есть три физицеских сетевых интерфейса:
eth1 Link encap:Ethernet
inet addr:192.168.0.100 Bcast:192.168.1.255 Mask:255.255.254.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:140746 errors:0 dropped:0 overruns:0 frame:0
TX packets:120081 errors:0 dropped:0 overruns:0 carrier:2
collisions:0 txqueuelen:1000
RX bytes:10217129 (9.7 Mb) TX bytes:23032501 (21.9 Mb)
eth2 Link encap:Ethernet
inet addr:10.73.161.174 Bcast:10.73.161.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3616922 errors:0 dropped:0 overruns:0 frame:0
TX packets:3441164 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:337197488 (321.5 Mb) TX bytes:1365191189 (1301.9 Mb)
Interrupt:20 Base address:0xac00
eth3 Link encap:Ethernet
inet addr:192.168.253.2 Bcast:192.168.253.255 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2013421 errors:0 dropped:0 overruns:0 frame:0
TX packets:2180058 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:167184025 (159.4 Mb) TX bytes:557020404 (531.2 Mb)
Interrupt:21 Base address:0x4800
Через eth3 поднимается два VLAN'а:
eth3.20 Link encap:Ethernet
inet addr:10.150.4.2 Bcast:10.150.4.3 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1809154 errors:0 dropped:0 overruns:0 frame:0
TX packets:1976664 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:116111733 (110.7 Mb) TX bytes:422028289 (402.4 Mb)
eth3.2019 Link encap:Ethernet
inet addr:195.*2*.1**.198 Bcast:195.*2*.1**.199 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:171202 errors:0 dropped:0 overruns:0 frame:0
TX packets:203347 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21220404 (20.2 Mb) TX bytes:134085289 (127.8 Mb)
И ещё одно подключение:
dsl0 Link encap:Point-to-Point Protocol
inet addr:81.*3*.2**.198 P-t-P:10.8.0.8 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1460 Metric:1
RX packets:2783409 errors:0 dropped:0 overruns:0 frame:0
TX packets:3204903 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:140962626 (134.4 Mb) TX bytes:1183688165 (1128.8 Mb)
После включения компа производяться следущие манимуляции))
echo Поднятие интерфейса eth3
ifconfig eth3 192.168.253.2 netmask 255.255.255.255 up
echo Поднятие и настройка eth3 20
vconfig add eth3 20
ifconfig eth3.20 10.150.4.2 netmask 255.255.255.252 up
route add -net 10.0.0.0/8 gw 10.150.4.1 dev eth3.20
echo Поднятие и настройка echo eth3 2019
vconfig add eth3 2019
ifconfig eth3.2019 195.*2*.1**.198 netmask 255.255.255.252 up
route add -net 0.0.0.0 gw 195.*2*.1**.197 dev eth3.2019
echo Настройка прова 1
route del default eth2
route add -host 10.8.0.1 gw 10.73.161.1
route add -host 10.8.3.1 gw 10.73.161.1
ifup dsl0 (не прописыватся как основной шлюз)
После этого, интернет появляется и тд. НО! Нет доступа с любых сетей на айпи адрес dsl0.
Дальше прописываются маршруты до всех сетей провайдера 1 на dsl0:
route add -net 172.16.0.0/12 gw 81.*3*.2**.198 dev dsl0
route add -net 81.30.176.0/20 gw 81.*3*.2**.198 dev dsl0
route add -net 81.30.192.0/19 gw 81.*3*.2**.198 dev dsl0
route add -net 89.189.128.0/19 gw 81.*3*.2**.198 dev dsl0
route add -net 77.79.128.0/18 gw 81.*3*.2**.198 dev dsl0
route add -net 92.50.128.0/18 gw 81.*3*.2**.198 dev dsl0
route add -net 94.41.0.0/16 gw 81.*3*.2**.198 dev dsl0
route add -net 194.0.68.0/22 gw 81.*3*.2**.198 dev dsl0
route add -net 193.84.31.0/27 gw 81.*3*.2**.198 dev dsl0
После этого пользователи провайдера 1 имеют связь с айпи dsl0, но пропадает связь к eth3.2019.
Немного поясню:
eth1 - интерфейс локальной сети где стоит комп
eth2 - интерфейс провайдера 1, через который идёт подключение dsl0 (не доступен из сети провайдера 1, не доступен с внешней сети).
eth3 - интерфейс провайдера 2, через который подключаются VLAN'ы (не доступен из сети провайдера 2, не доступен с внешней сети).
eth3.20 - vlan провайдера 2, доступен только для пользователям провайдера 2 (траффик для них локальный, бесплатный)
eth3.2019 - vlan провайдера 2, доступен абсолютно для всех (но по каким то причинам перестаёт быть доступным для пользователей провайдера 1 после прописания маршрутов)
dsl0 - vpn подключения провайдера 1, доступен должен быть только пользователям провайдера 1, но без добавления маршуртор не доступен никому.
Вывод команды route -n:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.8.0.1 10.73.161.1 255.255.255.255 UGH 0 0 0 eth2
10.8.0.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth2
10.8.2.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth2
10.8.3.1 10.73.161.1 255.255.255.255 UGH 0 0 0 eth2
10.8.3.1 0.0.0.0 255.255.255.255 UH 0 0 0 eth2
10.8.0.8 0.0.0.0 255.255.255.255 UH 0 0 0 dsl0
10.150.4.0 0.0.0.0 255.255.255.252 U 0 0 0 eth3.20
195.*2*.1**.196 0.0.0.0 255.255.255.252 U 0 0 0 eth3.2019
193.84.31.0 81.*3*.2**.198 255.255.255.224 UG 0 0 0 dsl0
10.73.161.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.0.0 0.0.0.0 255.255.254.0 U 0 0 0 eth1
194.0.68.0 81.*3*.2**.198 255.255.252.0 UG 0 0 0 dsl0
81.30.176.0 81.*3*.2**.198 255.255.240.0 UG 0 0 0 dsl0
89.189.128.0 81.*3*.2**.198 255.255.224.0 UG 0 0 0 dsl0
81.30.192.0 81.*3*.2**.198 255.255.224.0 UG 0 0 0 dsl0
92.50.128.0 81.*3*.2**.198 255.255.192.0 UG 0 0 0 dsl0
77.79.128.0 81.*3*.2**.198 255.255.192.0 UG 0 0 0 dsl0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
94.41.0.0 81.*3*.2**.198 255.255.0.0 UG 0 0 0 dsl0
172.16.0.0 81.*3*.2**.198 255.240.0.0 UG 0 0 0 dsl0
10.0.0.0 10.150.4.1 255.0.0.0 UG 0 0 0 eth3.20
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 195.*2*.1**.197 0.0.0.0 UG 0 0 0 eth3.2019
Вывод команды iptables-save:
# Generated by iptables-save v1.4.0 on Wed Nov 26 13:54:38 2008
*mangle
:PREROUTING ACCEPT [9337901:898167866]
:INPUT ACCEPT [9331241:896775996]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [9970510:3405720280]
:POSTROUTING ACCEPT [9970741:3405746270]
COMMIT
# Completed on Wed Nov 26 13:54:38 2008
# Generated by iptables-save v1.4.0 on Wed Nov 26 13:54:38 2008
*nat
:PREROUTING ACCEPT [35243:4763922]
:POSTROUTING ACCEPT [12501:758856]
:OUTPUT ACCEPT [12763:781410]
-A POSTROUTING -o dsl0 -j MASQUERADE
-A POSTROUTING -o eth1 -j MASQUERADE
-A POSTROUTING -o eth2 -j MASQUERADE
-A POSTROUTING -o eth3 -j MASQUERADE
-A POSTROUTING -o eth3_20 -j MASQUERADE
-A POSTROUTING -o eth3_2019 -j MASQUERADE
COMMIT
# Completed on Wed Nov 26 13:54:38 2008
# Generated by iptables-save v1.4.0 on Wed Nov 26 13:54:38 2008
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:forward_ext - [0:0]
:input_ext - [0:0]
:reject_func - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -p icmp -m state --state RELATED -j ACCEPT
-A INPUT -i dsl0 -j input_ext
-A INPUT -i eth1 -j input_ext
-A INPUT -i eth2 -j input_ext
-A INPUT -i eth3 -j input_ext
-A INPUT -i eth3_20 -j input_ext
-A INPUT -i eth3_2019 -j input_ext
-A INPUT -j input_ext
-A INPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-IN-ILL-TARGET " --log-tcp-options --log-ip-options
-A INPUT -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -i dsl0 -j forward_ext
-A FORWARD -i eth1 -j forward_ext
-A FORWARD -i eth2 -j forward_ext
-A FORWARD -i eth3 -j forward_ext
-A FORWARD -i eth3_20 -j forward_ext
-A FORWARD -i eth3_2019 -j forward_ext
-A FORWARD -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWD-ILL-ROUTING " --log-tcp-options --log-ip-options
-A FORWARD -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m limit --limit 3/min -j LOG --log-prefix "SFW2-OUT-ERROR " --log-tcp-options --log-ip-options
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 0 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 11 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 12 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 14 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 18 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 3/2 -j ACCEPT
-A forward_ext -p icmp -m state --state RELATED,ESTABLISHED -m icmp --icmp-type 5 -j ACCEPT
-A forward_ext -m limit --limit 3/min -m pkttype --pkt-type multicast -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -m pkttype --pkt-type multicast -j DROP
-A forward_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -p udp -m limit --limit 3/min -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A forward_ext -m limit --limit 3/min -m state --state INVALID -j LOG --log-prefix "SFW2-FWDext-DROP-DEFLT-INV " --log-tcp-options --log-ip-options
-A forward_ext -j DROP
-A input_ext -m pkttype --pkt-type broadcast -j DROP
-A input_ext -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A input_ext -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 2106 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 2106 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 22 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 3724 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 3724 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 5801 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 5801 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 5901 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 5901 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 7777 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 7777 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 7778 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 7778 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 8085 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 8085 -j ACCEPT
-A input_ext -p tcp -m limit --limit 3/min -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-ACC-TCP " --log-tcp-options --log-ip-options
-A input_ext -p tcp -m tcp --dport 80 -j ACCEPT
-A input_ext -p udp -m udp --dport 2106 -j ACCEPT
-A input_ext -p udp -m udp --dport 22 -j ACCEPT
-A input_ext -p udp -m udp --dport 3724 -j ACCEPT
-A input_ext -p udp -m udp --dport 7777 -j ACCEPT
-A input_ext -p udp -m udp --dport 7778 -j ACCEPT
-A input_ext -p udp -m udp --dport 8085 -j ACCEPT
-A input_ext -m limit --limit 3/min -m pkttype --pkt-type multicast -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -m pkttype --pkt-type multicast -j DROP
-A input_ext -p tcp -m limit --limit 3/min -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p icmp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -p udp -m limit --limit 3/min -j LOG --log-prefix "SFW2-INext-DROP-DEFLT " --log-tcp-options --log-ip-options
-A input_ext -m limit --limit 3/min -m state --state INVALID -j LOG --log-prefix "SFW2-INext-DROP-DEFLT-INV " --log-tcp-options --log-ip-options
-A input_ext -j DROP
-A reject_func -p tcp -j REJECT --reject-with tcp-reset
-A reject_func -p udp -j REJECT --reject-with icmp-port-unreachable
-A reject_func -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Wed Nov 26 13:54:38 2008