1

Всем доброй ночи форумчане,недавно поднял openvpn все работало корректно но порой возникали ошибки на клиентах чтобы не лишать сотрудников интернета я пускал их напрямую на внешку через маскарадинг, вроде все отрегулировал решил пустить через впн, какоето время все работало но потом стал переодически отваливаться интернет пинги идут с потерями, сайты не грузятся потом через минуту или 5ть нет снова работает и так с разной периодичностью..не знаю где копать, openvpn не разрывает соединение. Помогите милые форумчане не знаю что делать! скидываю информацию для наглядности ситуации
less /etc/network/interfacec

+ открыть спойлер

auto lo
iface lo inet loopback
#pre-up iptables-restore < /usr/local/bin/work.lst     # Загружаем правила
#post-down iptables-save > /usr/local/bin/work.lst     # Сохраняем правила

# eth1 -внешний интерфейс-белый айпи(OpenVPN -интернет)
#allow-hotplu eth1
#allow-hotplug говорит о том что этот интерфейс запускается не через /etc/init.d/networking а че$
iface eth1 inet static
        address xxx.xxx.xxx.xx
        netmask 255.255.255.240
#        network 212.193.134.0
#        broadcast 212.193.134.255
        gateway 212.193.134.94
        dns-nameservers 212.193.134.1
        auto eth1

# eth1:0 внешний интерфейс-белый айпи(apache,postfix)
iface eth1:0 inet static
        address yyy.yyy.yyy.yy
        netmask 255.255.255.240
#        network 212.193.134.0
#        broadcast 212.193.134.255
        gateway 212.193.134.94
        dns-nameservers 212.193.134.1
        auto eth1:0

# eth0 - внутреняя сеть dhcp+dns
#allow-hotplug eth0
iface eth0 inet static
        address 192.168.2.254
        netmask 255.255.255.0
        network 192.168.2.0
        broadcast 192.168.2.255
        auto eth0
# eth2 - внутреняя сеть для бухгалтерии
#allow-hotplug eth2
iface eth2 inet static
        address 192.168.10.254
        netmask 255.255.255.0
        network 192.168.10.0
#       network 192.168.10.254
        broadcast 192.168.10.255
#       broadcast 192.168.10.254
        auto eth2

правила iptables

+ открыть спойлер

#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

# Объявление переменных
export IPT="iptables"

# localhost
export LO="lo"
LO_IP="127.0.0.1"

# Интерфейс который смотрит в интернет
export WAN=eth1
WAN_IP1="yyy.yyy.yyy.yy" #почта
WAN_IP2="xxx.xxx.xxx.xx" #интернет
# Локальная сеть 1 eth0
export LAN1=eth0
export LAN_IP_RANGE1=192.168.2.0/24
LAN_IP1="192.168.2.254"
# Локальная сеть(бухгалтерия) 2 eth2
export LAN2=eth2
export LAN_IP_RANGE2=192.168.10.0/24
LAN_IP2="192.168.10.254"
# openVPN сеть - через него идет интернет
export VPN=tun0
export VPN_IP_RANGE=10.10.10.0/24

# допольнительное оборудование скажем роутер
export IP_ROUTER="192.168.2.11"
# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i $LO -j ACCEPT
$IPT -A INPUT -i $LAN1 -j ACCEPT
$IPT -A INPUT -i $LAN2 -j ACCEPT
$IPT -A OUTPUT -o $LO -j ACCEPT
$IPT -A OUTPUT -o $LAN1 -j ACCEPT
$IPT -A OUTPUT -o $LAN2 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $WAN_IP1 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $WAN_IP2 -j ACCEPT

#$IPT -A INPUT -p ALL -i $WAN -s $LAN_IP_RANGE1 -j ACCEPT
#$IPT -A INPUT -p ALL -i $LAN2 -s $LAN_IP_RANGE2 -j ACCEPT
$IPT -A INPUT -p ALL -i $LO -s $LO_IP -j ACCEPT
#$IPT -A INPUT -p ALL -i $LO -s $LAN_IP1 -j ACCEPT
#$IPT -A INPUT -p ALL -i $LO -s $LAN_IP2 -j ACCEPT
#$IPT -A INPUT -p ALL -i $LO -s $WAN_IP -j ACCEPT
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный обмен данными становится не возможным.
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN1 -o $WAN -j ACCEPT
$IPT -A FORWARD -i $LAN2 -o $WAN -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
$IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT
$IPT -A FORWARD -i $WAN -o $LAN2 -j REJECT

# Маскарадинг для openVPN сети чтобы весь трафик шел через впн сеть
$IPT -t nat -A POSTROUTING -o $WAN -s $VPN_IP_RANGE -j MASQUERADE
#$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE1 -j MASQUERADE
# Маскарадинг для бухгалтерии
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE2 -j MASQUERADE

# Маскарадинг для роутера
#$IPT -t nat -A POSTROUTING -o $WAN -s $IP_ROUTER -j MASQUERADE
#iptables -t nat -A POSTROUTING -s 192.168.20.11 -j MASQUERADE -o eth1

#  для почтовых портов
$IPT -t nat -A POSTROUTING -p tcp -o $WAN --dport 110 -j SNAT --to-source $WAN_IP1
$IPT -t nat -A POSTROUTING -p tcp -o $WAN --dport 25 -j SNAT --to-source $WAN_IP1
$IPT -t nat -A POSTROUTING -p tcp -o $WAN --dport 143 -j SNAT --to-source $WAN_IP1
$IPT -t nat -A POSTROUTING -p tcp -o $WAN -j SNAT --to-source $WAN_IP2

# Далее дано как пример открытие портов извне:
# **********************************************************************
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# Разрешаем dns серверу
$IPT -A INPUT -i $WAN -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p udp --sport 53 -j ACCEPT

# Открытие портов для торрентов (такие же указать в torrent-клиенте)
$IPT -A INPUT -i $WAN -p tcp -m multiport --ports 50100:51100 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp -m multiport --ports 50100:51100 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открытие порта udp 1194 для openVPN
$IPT -A INPUT -p tcp --dport 1194 -j ACCEPT
$IPT -A INPUT -p udp --dport 1194 -j ACCEPT
# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p all --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
$IPT -A INPUT -p udp --dport 80  -j ACCEPT
$IPT -A OUTPUT -p udp --sport 80 -j ACCEPT

# Открытие порта 25, 143 для smtp imap
$IPT -A INPUT -i $WAN -p all --dport 25 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p all --dport 25 -j ACCEPT
$IPT -A INPUT -p tcp --dport 25 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 25 -j ACCEPT
$IPT -A INPUT -i $WAN -p all --dport 143 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p all --dport 143 -j ACCEPT
$IPT -A INPUT -p tcp --dport 143 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 143 -j ACCEPT
$IPT -A INPUT -i $WAN -p all --dport 110 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p all --dport 110 -j ACCEPT
$IPT -A INPUT -p tcp --dport 110 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 110 -j ACCEPT
$IPT -A FORWARD -p TCP -s 0/0 --dport 25 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --sport 25 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --dport 110 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --sport 110 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --dport 143 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --sport 143 -j allowed
#$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets


$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -s $WAN -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LAN1 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LAN2 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $VPN -j ACCEPT


# Открытие портов для игровых серверов
#$IPT -A INPUT -i $WAN -p tcp --dport 27010:27030 -j ACCEPT
#$IPT -A INPUT -i $WAN -p udp --dport 27010:27030 -j ACCEPT
# **********************************************************************
# Вывод информации о состоянии
$IPT -L

и конфиг openvpn

+ открыть спойлер

#local 192.168.2.254
port 1194
proto udp
#dev tun
dev tap
;dev-node tap0
ca /etc/openvpn/ca.crt
cert /etc/openvpn/mailserver.imsp.crt
key /etc/openvpn/mailserver.imsp.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist /etc/openvpn/ipp.txt
push "route-gateway 192.168.2.254 255.255.255.0" # work subnet
#push "route 0.0.0.0 255.255.255.0" # work subnet
push "dhcp-option DNS 192.168.2.254"
#push "redirect-gateway def1" # старый маршрут останеться
push "redirect-gateway" # старый маршрут удалиться
;duplicate-cn
#keepalive 10 120
#;cipher BF-CBC # Blowfish (default)
#;cipher AES-128-CBC # AES
#;cipher DES-EDE3-CBC # Triple-DES
comp-lzo
max-clients 220
user nobody
group nogroup
persist-key
persist-tun
log /var/log/openvpn.log #log-append log файл будет дополняться
status /var/log/openvpn-status.log #обновляеться каждую минуту о подкл пользователей
verb 5
mute 20
client-to-client
client-config-dir /etc/openvpn/2.0/keys

Без вашего совета труба)
На серваке пинги без потерь, а с машин которые через опенвпн сидят траблы..

вот логи
less /var/log/openvpn.log

+ открыть спойлер

hu Nov 10 19:40:25 2011 us=194683 sagvir.imsp/192.168.2.210:1194 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Nov 10 19:40:25 2011 us=194745 sagvir.imsp/192.168.2.210:1194 TLS Error: TLS handshake failed
Thu Nov 10 19:40:25 2011 us=202271 valol.imsp/192.168.2.108:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=210734 trifonov.imsp/192.168.2.196:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=237974 valeeva.imsp/192.168.2.217:1194 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Nov 10 19:40:25 2011 us=238035 valeeva.imsp/192.168.2.217:1194 TLS Error: TLS handshake failed
Thu Nov 10 19:40:25 2011 us=238390 valeeva.imsp/192.168.2.217:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=238427 valeeva.imsp/192.168.2.217:1194 SIGUSR1[soft,tls-error] received, client-instance restarting
Thu Nov 10 19:40:25 2011 us=266022 oleneva.imsp/192.168.2.221:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=299528 valitova.imsp/192.168.2.185:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=335041 popov.imsp/192.168.2.101:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=372556 avtokratova.imsp/192.168.2.186:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=445156 user2.imsp/192.168.2.211:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=526678 zubairov.imsp/192.168.2.216:50243 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=526769 zubairov.imsp/192.168.2.216:50243 UDPv4 WRITE [14] to [AF_INET]192.168.2.216:50243: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Thu Nov 10 19:40:25 2011 us=610296 malicheva.imsp/192.168.2.225:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=709860 kabirova.imsp/192.168.2.207:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=831424 cafiylin.imsp/192.168.2.206:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:25 2011 us=978069 kryglov.imsp/192.168.2.213:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:26 2011 us=144009 citdikov.imsp/192.168.2.190:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:26 2011 us=144290 myrzaev.imsp/192.168.2.193:1194 TLS: tls_multi_process: killed expiring key
Thu Nov 10 19:40:26 2011 us=144349 myrzaev.imsp/192.168.2.193:1194 UDPv4 WRITE [14] to [AF_INET]192.168.2.193:1194: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Thu Nov 10 19:40:26 2011 us=144704 konkova.imsp/192.168.2.222:1194 TLS: tls_multi_process: killed expiring key

Thu Nov 10 19:40:58 2011 us=867230 sagvir.imsp/192.168.2.210:1194 UDPv4 WRITE [14] to [AF_INET]192.168.2.210:1194: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Thu Nov 10 19:40:58 2011 us=901359 read UDPv4 [EHOSTUNREACH]: No route to host (code=113)
Thu Nov 10 19:40:58 2011 us=944620 afonichev.imsp/192.168.2.204:1194 UDPv4 WRITE [14] to [AF_INET]192.168.2.204:1194: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Thu Nov 10 19:40:58 2011 us=993967 myrzaev.imsp/192.168.2.193:1194 UDPv4 WRITE [14] to [AF_INET]192.168.2.193:1194: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Thu Nov 10 19:40:59 2011 us=77443 read UDPv4 [EHOSTUNREACH|EHOSTUNREACH]: No route to host (code=113)

Thu Nov 10 19:41:27 2011 us=10232 afonichev.imsp/192.168.2.204:1194 TLS Error: TLS handshake failed
Thu Nov 10 19:41:27 2011 us=10356 afonichev.imsp/192.168.2.204:1194 SIGUSR1[soft,tls-error] received, client-instance restarting
Thu Nov 10 19:41:27 2011 us=10483 bikryeeva.imsp/192.168.2.246:1194 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Nov 10 19:41:27 2011 us=10511 bikryeeva.imsp/192.168.2.246:1194 TLS Error: TLS handshake failed
Thu Nov 10 19:41:27 2011 us=10731 bikryeeva.imsp/192.168.2.246:1194 SIGUSR1[soft,tls-error] received, client-instance restarting
Thu Nov 10 19:41:27 2011 us=47021 sagvir.imsp/192.168.2.210:1194 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Nov 10 19:41:27 2011 us=47083 sagvir.imsp/192.168.2.210:1194 TLS Error: TLS handshake failed
Thu Nov 10 19:41:27 2011 us=47231 sagvir.imsp/192.168.2.210:1194 SIGUSR1[soft,tls-error] received, client-instance restarting
Thu Nov 10 19:41:27 2011 us=253627 hacanova.imsp/192.168.2.248:1194 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Thu Nov 10 19:41:27 2011 us=253690 hacanova.imsp/192.168.2.248:1194 TLS Error: TLS handshake failed
Thu Nov 10 19:41:27 2011 us=255309 hacanova.imsp/192.168.2.248:1194 SIGUSR1[soft,tls-error] received, client-instance restarting

2

Не совсем понятно. Сотрудники ходят в инет  из офиса через vpn?

3

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

4

Пинг до шлюза  с машины клиента
--- 192.168.2.254 ping statistics ---
226 packets transmitted, 226 received, 0% packet loss, time 225000ms
rtt min/avg/max/mdev = 0.091/0.151/0.251/0.030 ms
Пинг до ya.ru с машины клиента
--- ya.ru ping statistics ---                                               
513 packets transmitted, 498 received, 2% packet loss, time 512758ms

5

Прогоните пинг до внешнего шлюза (провайдерского).
Если пинг нормальный будет, то вопросы к провайдеру, если нет, то скорее всего к вашему шлюзу.

6 (11.11.2011 09:49:39 отредактировано sagvir)

Да есть потери!
с клиента пинг
--- 212.193.134.94 ping statistics ---
188 packets transmitted, 185 received, 1% packet loss, time 187276ms
rtt min/avg/max/mdev = 1.138/9.652/55.095/12.903 ms
с моего сервера пинг
--- 212.193.134.94 ping statistics ---
85 packets transmitted, 83 received, 2% packet loss, time 84027ms
rtt min/avg/max/mdev = 0.591/6.015/51.641/10.431 ms
Это значит у провайдера проблемы? или у меня

7 (11.11.2011 11:31:34 отредактировано a-x)

Это значит, что проблема не идет в сторону выхода в интернет у провайдера, а где-то ближе.
Я бы всех забанил временно, оставив минимально необходимые правила iptables и пропинговал прямо со своего шлюза провайдерский шлюз
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -j DROP # тут главное себя не забанить, если работаете удаленно
-A OUTPUT -j ACCEPT
-A FORWARD -j DROP
разр
наты тоже не нужны, пингуем прямо со шлюза

Если пинг нормальный, то копаемся исключительно в себе, если нет, то проблема скорее всего на канале eth (драйвер) - кабель - модем (?) - кабель - провайдер

8

Спасибо как народ рассеиться так и сделаю)

9 (11.11.2011 13:24:42 отредактировано sagvir)

Я все разрешил, но пакеты все равно теряються( можете посмотреть может я что в правилах напутал

+ открыть спойлер

#!/bin/bash
# Тут в принципе может и не надо этого всего но не помеха вдруг какой модуль не подгружен или форвардинг не включен
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp

# Объявление переменных
export IPT="iptables"

# localhost
export LO="lo"
LO_IP="127.0.0.1"

# Интерфейс который смотрит в интернет
export WAN=eth1
WAN_IP1="yyy.yyy.yyy.yy" #почта
WAN_IP2="xxx.xxx.xxx.xx" #интернет
# Локальная сеть 1 eth0
export LAN1=eth0
export LAN_IP_RANGE1=192.168.2.0/24
LAN_IP1="192.168.2.254"
# Локальная сеть(бухгалтерия) 2 eth2
export LAN2=eth2
export LAN_IP_RANGE2=192.168.10.0/24
LAN_IP2="192.168.10.254"
# openVPN сеть - через него идет интернет
export VPN=tun0
export VPN_IP_RANGE=10.10.10.0/24

# допольнительное оборудование скажем роутер
export IP_ROUTER="192.168.2.11"
# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Закрываем изначально ВСЁ (т.е. изначально все что не разрешено - запрещено):
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# разрешаем локальный траффик для loopback и внутренней сети
$IPT -A INPUT -i $LO -j ACCEPT
$IPT -A INPUT -i $LAN1 -j ACCEPT
$IPT -A INPUT -i $LAN2 -j ACCEPT
$IPT -A OUTPUT -o $LO -j ACCEPT
$IPT -A OUTPUT -o $LAN1 -j ACCEPT
$IPT -A OUTPUT -o $LAN2 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $WAN_IP1 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $WAN_IP2 -j ACCEPT

#$IPT -A INPUT -p ALL -i $WAN -s $LAN_IP_RANGE1 -j ACCEPT
#$IPT -A INPUT -p ALL -i $LAN2 -s $LAN_IP_RANGE2 -j ACCEPT
$IPT -A INPUT -p ALL -i $LO -s $LO_IP -j ACCEPT
#$IPT -A INPUT -p ALL -i $LO -s $LAN_IP1 -j ACCEPT
#$IPT -A INPUT -p ALL -i $LO -s $LAN_IP2 -j ACCEPT
#$IPT -A INPUT -p ALL -i $LO -s $WAN_IP -j ACCEPT
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
#$IPT -A INPUT -m state --state INVALID -j DROP
#$IPT -A FORWARD -m state --state INVALID -j DROP

# Приводит к связыванию системных ресурсов, так что реальный обмен данными становится не возможным.
#$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
#$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# Разрешаем доступ из внутренней сети наружу
$IPT -A FORWARD -i $LAN1 -o $WAN -j ACCEPT
$IPT -A FORWARD -i $LAN2 -o $WAN -j ACCEPT

# Запрещаем доступ снаружи во внутреннюю сеть
#$IPT -A FORWARD -i $WAN -o $LAN1 -j REJECT
#$IPT -A FORWARD -i $WAN -o $LAN2 -j REJECT

# Маскарадинг для openVPN сети чтобы весь трафик шел через впн сеть
$IPT -t nat -A POSTROUTING -o $WAN -s $VPN_IP_RANGE -j MASQUERADE
#$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE1 -j MASQUERADE
# Маскарадинг для бухгалтерии
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE2 -j MASQUERADE

# Маскарадинг для роутера
#$IPT -t nat -A POSTROUTING -o $WAN -s $IP_ROUTER -j MASQUERADE
#iptables -t nat -A POSTROUTING -s 192.168.20.11 -j MASQUERADE -o eth1

#  для почтовых портов
$IPT -t nat -A POSTROUTING -p tcp -o $WAN --dport 110 -j SNAT --to-source $WAN_IP1
$IPT -t nat -A POSTROUTING -p tcp -o $WAN --dport 25 -j SNAT --to-source $WAN_IP1
$IPT -t nat -A POSTROUTING -p tcp -o $WAN --dport 143 -j SNAT --to-source $WAN_IP1
$IPT -t nat -A POSTROUTING -p tcp -o $WAN -j SNAT --to-source $WAN_IP2

# Далее дано как пример открытие портов извне:
# **********************************************************************
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# Разрешаем dns серверу
$IPT -A INPUT -i $WAN -p udp --sport 53 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p udp --sport 53 -j ACCEPT

# Открытие портов для торрентов (такие же указать в torrent-клиенте)
$IPT -A INPUT -i $WAN -p tcp -m multiport --ports 50100:51100 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp -m multiport --ports 50100:51100 -j ACCEPT

# Открытие 443 порта
$IPT -A INPUT -p tcp --dport 443 -j ACCEPT

# Открытие порта udp 1194 для openVPN
$IPT -A INPUT -p tcp --dport 1194 -j ACCEPT
$IPT -A INPUT -p udp --dport 1194 -j ACCEPT
# Открываем 80 порт для веб сайтов
$IPT -A INPUT -i $WAN -p all --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
$IPT -A INPUT -p udp --dport 80  -j ACCEPT
$IPT -A OUTPUT -p udp --sport 80 -j ACCEPT

# Открытие порта 25, 143 для smtp imap
$IPT -A INPUT -i $WAN -p all --dport 25 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p all --dport 25 -j ACCEPT
$IPT -A INPUT -p tcp --dport 25 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 25 -j ACCEPT
$IPT -A INPUT -i $WAN -p all --dport 143 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p all --dport 143 -j ACCEPT
$IPT -A INPUT -p tcp --dport 143 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 143 -j ACCEPT
$IPT -A INPUT -i $WAN -p all --dport 110 -j ACCEPT
$IPT -A OUTPUT -i $WAN -p all --dport 110 -j ACCEPT
$IPT -A INPUT -p tcp --dport 110 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 110 -j ACCEPT
$IPT -A FORWARD -p TCP -s 0/0 --dport 25 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --sport 25 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --dport 110 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --sport 110 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --dport 143 -j allowed
$IPT -A FORWARD -p TCP -s 0/0 --sport 143 -j allowed
#$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets

$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPT -A OUTPUT -p ALL -s $WAN -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LAN1 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $LAN2 -j ACCEPT
$IPT -A OUTPUT -p ALL -s $VPN -j ACCEPT

# Открытие портов для игровых серверов
#$IPT -A INPUT -i $WAN -p tcp --dport 27010:27030 -j ACCEPT
#$IPT -A INPUT -i $WAN -p udp --dport 27010:27030 -j ACCEPT
# **********************************************************************
# Вывод информации о состоянии
$IPT -L

10

 Консоль:
$IPT -A INPUT -i $WAN -p all --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
$IPT -A INPUT -p udp --dport 80  -j ACCEPT
$IPT -A OUTPUT -p udp --sport 80 -j ACCEPT

А разве не хватит?

 Консоль:
iptables -A INPUT -i eth1 -p all --sport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -p all --dport  80 -j ACCEPT

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

11 (11.11.2011 21:36:00 отредактировано sagvir)

Спасибо всем большое разобрался!)) Оказалось сервак бывшего сисадмина конкурировал с моим, на нем интерфейс не уронили где одним из айпи был тот что и на моем..просто странно что пару дней все работало а потом соревнования по перетягиванию каната начались))
Надо же какие нелепые случаи бывают, а я уже у себя все перелопатил)
Тему можно закрывать

12

--=XliN=-- пишет:

 Консоль:
$IPT -A INPUT -i $WAN -p all --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 80 -j ACCEPT
$IPT -A INPUT -p udp --dport 80  -j ACCEPT
$IPT -A OUTPUT -p udp --sport 80 -j ACCEPT

А разве не хватит?

 Консоль:
iptables -A INPUT -i eth1 -p all --sport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -p all --dport  80 -j ACCEPT

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

13

Всем добрый день, оказалось трабла полностью не ушла, с openvpn разобрался. Кто его использует могу коечто порекомендовать) У слабых машин на win7 - vista вечно интернет слетал - виновником оказался сервис bonjour, который устанавливает пакет cs3 от adobe! кому надо ссыль на статью скину как это лечить.
Интернет теперь не вылетает работает было стабильно, но странно что при пинге шлюза с сервера или же с локальной машины идут потери, когда правила iptables перегружаю пару часов нормально работает потом снова. Помогите разобраться где цепочки зацикливаються, почему же буфер засоряеться и переодически потеря пакетов идет.
iptables-save

+ открыть спойлер

iptables-save
# Generated by iptables-save v1.4.8 on Tue Nov 22 14:56:10 2011
*nat
:PREROUTING ACCEPT [407961:32853261]
:POSTROUTING ACCEPT [75232:5609007]
:OUTPUT ACCEPT [68998:5232769]
-A POSTROUTING -s 10.10.10.0/24 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.10.0/24 -o eth1 -j MASQUERADE
-A POSTROUTING -s 192.168.2.189/32 -o eth1 -j MASQUERADE
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source xxx.xxx.xxx.88
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 25 -j SNAT --to-source xxx.xxx.xxx.88
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 143 -j SNAT --to-source xxx.xxx.xxx.88
COMMIT
# Completed on Tue Nov 22 14:56:10 2011
# Generated by iptables-save v1.4.8 on Tue Nov 22 14:56:10 2011
*mangle
:PREROUTING ACCEPT [17145798:9204700954]
:INPUT ACCEPT [6172812:1495274833]
:FORWARD ACCEPT [10938239:7704540370]
:OUTPUT ACCEPT [13947507:9233086354]
:POSTROUTING ACCEPT [24879629:16937409780]
COMMIT
# Completed on Tue Nov 22 14:56:10 2011
# Generated by iptables-save v1.4.8 on Tue Nov 22 14:56:10 2011
*filter
:INPUT DROP [84509:8068922]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -i eth2 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m multiport --ports 50100:51100 -j ACCEPT
-A INPUT -i eth1 -p tcp -m multiport --ports 50100:51100 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
-A INPUT -p udp -m udp --dport 1194 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p udp -m udp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A FORWARD -i eth2 -o eth1 -j ACCEPT
-A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i eth1 -o eth2 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o eth2 -j ACCEPT
-A OUTPUT -s xxx.xxx.xxx.88/32 -j ACCEPT
-A OUTPUT -s xxx.xxx.xxx.82/32 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A OUTPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 80 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 25 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 143 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 110 -j ACCEPT
-A OUTPUT -s 127.0.0.1/32 -j ACCEPT
COMMIT

14

> Помогите разобраться где цепочки зацикливаються, почему же буфер засоряеться и переодически потеря пакетов идет.

Это предположение?

Попробуйте кидать в логи все отброшенные пакеты  и поизучать результаты.

15

Предложение исключительно для win7 при 2х подключений, в моем случае локалка + openVPN  http://russianpenguin.blogspot.com/2009 … s-7-c.html
> Помогите разобраться где цепочки зацикливаються, почему же буфер засоряеться и переодически потеря пакетов идет.- это уже другой вопрос)
как отброшенные пакеты в логи кидать? я про следующее толкую что с сервера если шлюз или сайты пинговать то
патери бывают, вот и думаю чем это может быть вызвано%)