Здравствуйте!
Я дома сделал так:
две сетевые:
1) интерфейс eth0 это локальное подключение провайдера
интерфейс ppp0 vpn подключение к нему, тоесть внешка
2) интерфейс eth1 это сетевушка ко мне на ноутбук с виндой
вот интерфейсы:
auto [i][b]lo[/b][/i]
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0
auto [i][b]eth0[/b][/i]
iface eth0 inet static
address 10.44.128.203
netmask 255.255.248.0
gateway 10.44.128.1
post-up pon corbina
pre-down poff corbina
auto[i][b] eth1[/b][/i]
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
pre-up /var/lib/iptables/active.sh
сделал мост между интнерфесом eth1 и двумя eth0 и ppp0, тоесть дать ноутбуку и локальное подключение провайдера и виртуальное, внешнее
виртуальное поднимает нормально вот
post-up pon corbina
pre-down poff corbina
все ок, там все верно прописанно, на компе все работает.
получается:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:19:5b:fe:53:38 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global eth1
inet6 fe80::219:5bff:fefe:5338/64 scope link
valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether 00:80:48:59:08:bc brd ff:ff:ff:ff:ff:ff
inet 10.44.128.203/21 brd 10.44.135.255 scope global eth0
inet6 fe80::280:48ff:fe59:8bc/64 scope link
valid_lft forever preferred_lft forever
5: tun0: <POINTOPOINT,UP,LOWER_UP> mtu 1462 qdisc pfifo_fast qlen 1000
link/[65534]
inet 1.1.1.1/32 scope global tun0
45: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1460 qdisc pfifo_fast qlen 3
link/ppp
inet 89.179.243.255 peer 85.21.0.51/32 scope global ppp0
сетевой мост делаю запуском скрипта из интерфейсов pre-up /var/lib/iptables/active.sh
вот скрипт:
#!/bin/sh
IPTABLES=/sbin/iptables
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe
EXTID="ppp0"
EXTIF="eth0"
INTIF="eth1"
$DEPMOD -a
$MODPROBE ip_tables
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_conntrack_irc
$MODPROBE iptable_nat
$MODPROBE ip_nat_ftp
$MODPROBE ip_nat_irc
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
# локальный интерфейс
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# vpn интерфес
$IPTABLES -A FORWARD -i $EXTID -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTID -j ACCEPT
# $IPTABLES -A FORWARD -j LOG
$IPTABLES -t nat -A POSTROUTING -o $EXTID -j MASQUERADE
echo -e "...done Iptables.\n"
и тут все работает и локальный и интернет трафик нормально раздается, но возникает проблема иногда некоторые определенные ресурсы просто отказываются открываться, при этом в этот же момент смотрю на линухе, все открывает, при этом и пинг есть, nslookup адрес резовывет, по айпишнику тоже не заходит, и что странно на выборочных ресурсах, то на том домене, то на том, фаеров нет естестно, телнет по 80 порту тоже идет, пробовал на 5 браузерах, тоже самое,
причем после sudo /etc/init.d/networking restart проблема то проходит, то нет, иногда вообще не помогает
вот итог выполнения команды:
sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
SIOCDELRT: No such process
* Stopping NTP server ntpd
...done.
-e ...done Iptables.
* Stopping NTP server ntpd
...done.
или вот так:
sudo /etc/init.d/networking restart
* Reconfiguring network interfaces...
RTNETLINK answers: No such process
* Stopping NTP server ntpd
...done.
-e ...done Iptables.
* Stopping NTP server ntpd
...done.
[ OK ]
еще странный интерфес tun0, тунельный, я его не делал, в общем я замучался уже искать в чем ниполадка а найти не могу, поидее все должно идти, я думаю что просто скорее всего что-то иногда меняется, что исходящий трафик проходит, а входящий не всегда.
и вот маршруты на всякий случай, может поможет:
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags Metric Ref Use Iface
mara-gw.corbina 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
mail.post.ru 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
vpn51-l0.msk.co 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
83.102.146.96 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
mara.corbina.ne 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
vpn86-l0.msk.co 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
85.21.138.208 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
earth.corbina.n 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
oneskelis.corbi 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
www.corbina.net 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
sip.corbina.net 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
78.107.69.98 10.44.128.1 255.255.255.255 UGH 0 0 0 eth0
10.13.10.0 * 255.255.255.0 U 0 0 0 tun0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
85.21.90.0 10.44.128.1 255.255.255.0 UG 0 0 0 eth0
10.10.10.0 * 255.255.255.0 U 0 0 0 tun0
85.21.79.0 10.44.128.1 255.255.255.0 UG 0 0 0 eth0
10.44.128.0 * 255.255.248.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
10.0.0.0 10.44.128.1 255.0.0.0 UG 0 0 0 eth0
default * 0.0.0.0 U 0 0 0 ppp0
default 10.44.128.1 0.0.0.0 UG 100 0 0 eth0
а если напрямую, то все ок... может с MTU проблема, хотя не было бы выборочно на разных ресурсах, хотя и у разного трафика пакетики разные, просто по сути, у Ethernet 1500, у vpn 1460, получается что:
eth0 (mtu 1500) -> eth1(mtu 1500) -> ethernet ноутбка (1500) ppp0 (mtu 1460) -> хотя пинг с винды идет с разными размерами пакетов, вплоть до 10000, хотя я думаю ни просто на eth1 преобразовываются
Спасибо!