есть вот такой скрип, благополучно скаченный из интернета:

#!/bin/bash
IPTABLES="/sbin/iptables"
 
#######################################################################################################
# Настройки
#######################################################################################################
#                            !!! НЕОБХОДИМО ИЗМЕНИТЬ НА СОБСТВЕННЫЕ !!!
 
IF_OUT="ppp0"                 # Имя интерфейса подключенного к интернет
IF_LAN="eth1"                 # Имя интерфейса подключенного к локальной сети
MASK_LAN="192.168.1.1/24"     # Указание локальной сети (адрес сети и маска)
 
 
#######################################################################################################
IF_LO="lo"
ADDR_LO="127.0.0.1"
LOOPBACK="127.0.0.0/8"
 
sysctl -w net.ipv4.ip_forward=1    # Настройка ядра, для разрешения на продвижение пакетов
sysctl -w net.ipv4.ip_dynaddr=1    # Позволяет выполнять корректно MASQUERADE при динамическом изменении ip адреса
 
modprobe ip_nat_ftp                # Для правильной работы активного режима FTP
 
#######################################################################################################
# Сброс и установка правил по умолчанию
#######################################################################################################
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
 
$IPTABLES -P INPUT      DROP    # По умолчанию блокирует входящий трафик
$IPTABLES -P FORWARD    DROP    # По умолчанию блокирует проходящий трафик
$IPTABLES -P OUTPUT     ACCEPT  # По умолчанию разрешает исходящий трафик
 
#######################################################################################################
# Создание цепочек правил
#######################################################################################################
# Базовая проверка пакетов - невалидные пакты (common-check)
        $IPTABLES -N common-check
        $IPTABLES -F common-check
        $IPTABLES -A common-check -m state --state INVALID -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
        $IPTABLES -A common-check -p tcp ! --syn -m state --state NEW -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags ALL ALL -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags ALL NONE -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
        $IPTABLES -A common-check -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# Обработка входящих icmp запросов (icmp-in)
        $IPTABLES -N icmp-in
        $IPTABLES -F icmp-in
        $IPTABLES -A icmp-in -m state --state NEW -p icmp --icmp-type echo-request -j ACCEPT
        $IPTABLES -A icmp-in -m state --state NEW -p icmp --icmp-type time-exceeded -j ACCEPT
        $IPTABLES -A icmp-in -m state --state NEW -p icmp --icmp-type destination-unreachable -j ACCEPT
# Разрешает уже установленные соединения (statefull)
        $IPTABLES -N statefull
        $IPTABLES -F statefull
        $IPTABLES -A statefull -m state --state ESTABLISHED,RELATED -j ACCEPT
 
#################################################################################################
# Задание правил для входящего трафика
#################################################################################################
        ## Проверяем пакеты (!первое правило в цепочке)
$IPTABLES -A INPUT -j common-check
        ## Разрешаем icmp запросы к серверу (ping)
$IPTABLES -A INPUT -j icmp-in
        ## Разрешаем SSH (!из интернета)
$IPTABLES -A INPUT -p tcp --dport 22 -i $IF_OUT -j ACCEPT
    ## Разрешаем TV (!из интернета)
$IPTABLES -A INPUT -p tcp --dport 9981 -i $IF_OUT -j ACCEPT
        ## Разрешаем входящий трафик с локальной сети
$IPTABLES -A INPUT -i $IF_LAN -j ACCEPT
        ## Разрешаем локальный интрефейс
$IPTABLES -A INPUT -i $IF_LO -d $LOOPBACK -j ACCEPT
        ## Разрешаем установленные соединения (!последнее правило в цепочке)
$IPTABLES -A INPUT -j statefull
 
 
#################################################################################################
# Задание правил для исходящего трафика
#################################################################################################
# По умолчанию исходящий трафик разрешен
        ## Проверяем пакеты (!первое правило в цепочке)
$IPTABLES -A OUTPUT -j common-check
 
 
#################################################################################################
# Задание правил для продвижения пакетов
#################################################################################################
        ## Проверяем пакеты (!первое правило в цепочке)
$IPTABLES -A FORWARD -j common-check
        ## Организация NAT
$IPTABLES -t nat -A POSTROUTING -s $MASK_LAN -o $IF_OUT -j MASQUERADE
 
 
        ## Разрешаем !весь! проходящий трафик с локальной сети (контроль маска и интерфейс!)
$IPTABLES -A FORWARD -i $IF_LAN -s $MASK_LAN -j ACCEPT
 
 
        ## Разрешаем установленные соединения (!последнее правило в цепочке)
$IPTABLES -A FORWARD -j statefull
##################################################################################################
 
echo done!

Проблема в том что соединение через pppoe за частую создает, не IF_OUT="ppp0" как приведено у меня в скрипте а например ppp1, ppp2 и т.д. по этому интернет в внутренний сеть не раздается, как сделать чтоб не было привязки скрипта к определенной цифре интерфейса ppp.

2

Попробуйте изменить

IF_OUT="ppp0"

на

IF_OUT="ppp+"
Был, был и весь вышел...

3

Vladimir17m⇓ пишет:

Проблема в том что соединение через pppoe за частую создает, не IF_OUT="ppp0" как приведено у меня в скрипте а например ppp1, ppp2 и т.д.

При желании можно указать в настройках создавать всегда один и тот же номер ppp-интерфейса.

Был, был и весь вышел...

4

подскажи как в настройках указать только один интерфейс?

5 (17.04.2013 20:03:58 отредактировано Lupo Alberto)

Покажите

ps aux | grep pppd

P.S. Вывод команды покажите при установленном PPPoE-соединении.

Был, был и весь вышел...

6

root      1192  0.0  0.0  26204  1344 ?        Ss   20:29   0:00 /usr/sbin/pppd call dsl-provider updetach
root      2515  0.0  0.0  26204  1056 ?        S    20:34   0:00 /usr/sbin/pppd call dsl-provider
1000      2531  0.0  0.0  10632   920 pts/1    S+   20:34   0:00 grep --color=auto pppd

7

Покажите, если есть, файл /etc/ppp/options.
С помощью какой программы поднимаете PPPoE?
Или используете скрипты инициализации?
P.S. Я с Ubuntu знаком поверхностно, поэтому приходится действовать по аналогии ac

Был, был и весь вышел...

8 (17.04.2013 20:35:05 отредактировано Lupo Alberto)

Покажите, что за файлы у вас есть в /etc/ppp/peers/ или /etc/ppp/?

+ Найдите файл примерно такого вида:
noipdefault
#defaultroute
#replacedefaultroute
#usepeerdns
hide-password
debug
noauth
persist
maxfail 0
lcp-echo-interval 30
lcp-echo-failure 5
mtu 1492
plugin rp-pppoe.so eth0
rp_pppoe_service 'cat'
user "lettersandnumbers@hinet.p"
linkname cat
unit 0

и покажите его.

Был, был и весь вышел...

9

# Minimalistic default options file for DSL/PPPoE connections

noipdefault
defaultroute
replacedefaultroute
hide-password
lcp-echo-interval 30
lcp-echo-failure 4
noauth
persist
mtu 1492
persist
maxfail 0
holdoff 60
plugin rp-pppoe.so
eth0
#usepeerdns
user пользователь

10

Lupo Alberto⇓ пишет:

Покажите, что за файлы у вас есть в /etc/ppp/peers/

...если там есть файл dsl-provider, добавьте в его конец строку вида

unit N

где N — число, обозначающее номер создаваемого ppp-интерфейса.

Был, был и весь вышел...

11

а переподключение не подскажешь где смотреть?

12 (17.04.2013 20:53:02 отредактировано Lupo Alberto)

Vladimir17m⇓ пишет:

а переподключение не подскажешь где смотреть?

Если подразумевается перезапуск интерфейса, то как-то так можно, наверное:

sudo poff dsl-provider
sudo pon dsl-provider
Был, был и весь вышел...

13

нет это отключение  и подключение PPPOE а мне интересно где в конфиге dsl-provider настроить переподключение, у меня трабл возник что соединение падает и заново не подымается, хотя и интерфейс "ppp" висит.

14

Vladimir17m⇓ пишет:

нет это отключение  и подключение PPPOE а мне интересно где в конфиге dsl-provider настроить переподключение, у меня трабл возник что соединение падает и заново не подымается, хотя и интерфейс "ppp" висит.

Попробуйте уменьшить значение

holdoff 60

либо вообще уберите эту строку.

Был, был и весь вышел...

15

ок попробую спасибо!

16

Посмотрите, что пишет команда

plog

при «зависании» соединения.

Был, был и весь вышел...