Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Настройка подключения NAT  (Прочитано 870 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Емельянов Максим

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Настройка подключения NAT
« : 08 Мая 2015, 13:33:17 »
Ребята, проблема, скрипт работал было все ок, сменили тип подключения на pppoe. Теперь не могу пробросить порты. ПОМОЩИ ПЛИЗ
#!/bin/sh
echo "Очищаем все настройки"
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

int_if="eth0"
ext_if="ppp0"
loc_ip="10.0.12.246"

echo "Активируем форвардинг пакетов"
echo 1 > /proc/sys/net/ipv4/ip_forward

#iptables -A FORWARD -o -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
#iptables -I INPUT 1 -p ALL -s 46.72.169.87 -j DROP

echo "Разрешаем принимать трафик на LOOPBACK"
iptables -A INPUT -p ALL -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

echo "Разрешаем исходящие/входящие подключения интерфейса eth0"
iptables -A INPUT -p ALL -i eth0 -j ACCEPT
iptables -A OUTPUT -p ALL -o eth0 -j ACCEPT

echo "Разрешаем исходящие подключения интерфейса eth1"
iptables -A OUTPUT -p ALL -o $ext_if -j ACCEPT

echo "Разрешаем работу уже существующих подключений"
iptables -A FORWARD -p ALL -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p ALL -m state --state RELATED,ESTABLISHED -j ACCEPT

echo "Разрешаем доступ в интернет с локального адреса сервера"
iptables -A FORWARD -p all -s $loc_ip -o $ext_if -j ACCEPT
echo "Разрешаем входящие подключения интерфейса интернет (22, 1194)"
iptables -A INPUT -i $ext_if -p TCP --dport 22 -j ACCEPT
iptables -A INPUT -i $ext_if -p TCP --dport 3389 -j ACCEPT

echo "Перенаправление порта 3389"
iptables -A INPUT -i $ext_if -p TCP --dport 3389 -j ACCEPT
iptables -A FORWARD -p tcp -d 10.0.12.245 --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d X.X.X.X --dport 3389 -j DNAT --to-destination 10.0.12.245:3389

#echo "Перенаправление порта 21"
#iptables -A INPUT -i $ext_if_2 -p TCP --dport 3389 -j ACCEPT
#iptables -A FORWARD -p tcp -d 10.0.12.245 --dport 3389 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -d 91.192.62.22 --dport 3389 -j DNAT --to-destination 10.0.12.245:3389

#echo "Перенаправление 4899 порта"
#iptables -A INPUT -i $ext_if -p UDP --dport 27016 -j ACCEPT
#iptables -A FORWARD -p udp -d 192.168.250.116 --dport 27016 -j ACCEPT
#iptables -t nat -A PREROUTING -p udp -d 81.20.200.26 --dport 27016 -j DNAT --to-destination 192.168.250.116:27016

#echo "Перенаправление 443 порта"
#iptables -A INPUT -i $ext_if -p TCP --dport 443 -j ACCEPT
#iptables -A FORWARD -p tcp -d 192.168.250.245 --dport 443 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -d 81.20.200.26 --dport 443 -j DNAT --to-destination 192.168.250.245:443

echo "Запрещаем входящие подключения внешнего интерфейса"
iptables -A INPUT -p ALL -i $ext_if -j DROP

echo "NAT для пользователей"
iptables -t nat -A POSTROUTING -o $ext_if -j MASQUERADE

echo "Разрешаем доступ в интернет для:"
cat /etc/nat-inet.lst | while read ip
do
 echo "Адрес: $ip"
 iptables -A FORWARD -p all -s $ip -o $ext_if -j ACCEPT
done

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #1 : 08 Мая 2015, 14:13:35 »
ip a; ip r; sudo iptables-save
и чуть-чуть поворчу.
Если
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p ALL -o eth0 -j ACCEPT
iptables -A OUTPUT -p ALL -o $ext_if -j ACCEPT
то зачем
iptables -P OUTPUT DROP
И на данном форуме считается, что OUTPUT -P DROP скорее приведёт к проблемам нежели к пользе. Я так же к этому отношусь

Оффлайн Емельянов Максим

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #2 : 08 Мая 2015, 14:24:50 »
Да дело в том что подключение было статикой и все было ок, переехал в новый офис здесь pppoe (со статикой). Доступ по портам работает, а перенаправление нет

Пользователь решил продолжить мысль [time]08 Май 2015, 15:26:13[/time]:
ip a; ip r; sudo iptables-save
и чуть-чуть поворчу.
Если
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p ALL -o eth0 -j ACCEPT
iptables -A OUTPUT -p ALL -o $ext_if -j ACCEPT
то зачем
iptables -P OUTPUT DROP
И на данном форуме считается, что OUTPUT -P DROP скорее приведёт к проблемам нежели к пользе. Я так же к этому отношусь
Дропы все в начале, для очистки iptables

Пользователь решил продолжить мысль 08 Мая 2015, 14:28:18:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:40:f4:7e:1e:56 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::240:f4ff:fe7e:1e56/64 scope link
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:6e:1a:71:34 brd ff:ff:ff:ff:ff:ff
    inet 10.0.12.246/24 brd 10.0.12.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:6eff:fe1a:7134/64 scope link
       valid_lft forever preferred_lft forever
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp
    inet 91.192.62.22 peer 91.192.63.254/32 scope global ppp0
       valid_lft forever preferred_lft forever
default dev ppp0  scope link
10.0.12.0/24 dev eth0  proto kernel  scope link  src 10.0.12.246
91.192.63.254 dev ppp0  proto kernel  scope link  src 91.192.62.22
# Generated by iptables-save v1.4.21 on Fri May  8 14:27:19 2015
*mangle
:PREROUTING ACCEPT [205126:128618588]
:INPUT ACCEPT [15892:1184685]
:FORWARD ACCEPT [189113:127426970]
:OUTPUT ACCEPT [5119:664989]
:POSTROUTING ACCEPT [194170:128067693]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Fri May  8 14:27:19 2015
# Generated by iptables-save v1.4.21 on Fri May  8 14:27:19 2015
*nat
:PREROUTING ACCEPT [13184:968084]
:INPUT ACCEPT [495:64404]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.0.12.245:3389
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Fri May  8 14:27:19 2015
# Generated by iptables-save v1.4.21 on Fri May  8 14:27:19 2015
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp0 -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.0.12.246/32 -o ppp0 -j ACCEPT
-A FORWARD -d 10.0.12.245/32 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 10.0.12.0/24 -o ppp0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o ppp0 -j ACCEPT
COMMIT
« Последнее редактирование: 08 Мая 2015, 14:28:18 от Емельянов Максим »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #3 : 08 Мая 2015, 14:56:54 »
Дропы все в начале, для очистки iptables
Я Вас умоляю. Дропы и очистка таблиц выполняются разными командами и несут разные функции


-A PREROUTING -d 127.0.0.1/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.0.12.245:3389
ищите косяк в скрипте, он неправильно определяет адрес интерфейса ppp0.

почему? Да потому что, скорее всего, Вы сначала грузите правила, а потом поднимается ppp0. То есть на момент загрузки правил ppp0 ещё нет.

Оффлайн Емельянов Максим

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #4 : 08 Мая 2015, 15:18:42 »
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:40:f4:7e:1e:56 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::240:f4ff:fe7e:1e56/64 scope link
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:6e:1a:71:34 brd ff:ff:ff:ff:ff:ff
    inet 10.0.12.246/24 brd 10.0.12.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:6eff:fe1a:7134/64 scope link
       valid_lft forever preferred_lft forever
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp
    inet 91.192.62.22 peer 91.192.63.254/32 scope global ppp0
       valid_lft forever preferred_lft forever
default dev ppp0  scope link
10.0.12.0/24 dev eth0  proto kernel  scope link  src 10.0.12.246
91.192.63.254 dev ppp0  proto kernel  scope link  src 91.192.62.22
# Generated by iptables-save v1.4.21 on Fri May  8 15:17:33 2015
*mangle
:PREROUTING ACCEPT [348740:223179953]
:INPUT ACCEPT [20134:1477380]
:FORWARD ACCEPT [328360:221689215]
:OUTPUT ACCEPT [5450:726215]
:POSTROUTING ACCEPT [333742:222388844]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Fri May  8 15:17:33 2015
# Generated by iptables-save v1.4.21 on Fri May  8 15:17:33 2015
*nat
:PREROUTING ACCEPT [8876:651548]
:INPUT ACCEPT [255:37189]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [1:48]
-A PREROUTING -d 91.192.62.22/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.0.12.245:3389
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Fri May  8 15:17:33 2015
# Generated by iptables-save v1.4.21 on Fri May  8 15:17:33 2015
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp0 -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.0.12.246/32 -o ppp0 -j ACCEPT
-A FORWARD -d 10.0.12.245/32 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -s 10.0.12.0/24 -o ppp0 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o ppp0 -j ACCEPT
COMMIT
# Completed on Fri May  8 15:17:33 2015
убрал из запуска и поднял руками после pppoe

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #5 : 08 Мая 2015, 15:24:54 »
И не работает?

ЗЫ в спойлеры листинги заверните, плиз

ЗЗЫ -A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
не нужны для форварда
« Последнее редактирование: 08 Мая 2015, 15:28:12 от fisher74 »

Оффлайн Емельянов Максим

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #6 : 08 Мая 2015, 15:35:10 »
И не работает?

ЗЫ в спойлеры листинги заверните, плиз

ЗЗЫ -A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 3389 -j ACCEPT
не нужны для форварда
Нет не работает, без форварда, не работало раньше, поэтому добавил
P.S.: Что значит завернуть листинги (Ребят я тут новый)

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #7 : 08 Мая 2015, 15:57:58 »
листинги нужно ограничить тегами [sрoiler][/spоiler]. Выделить текст под спойлер и нажать кнопку [img=https://forum.ubuntu.ru/Themes/ubuntu-portal/images/bbc/spoiler.gif][/img]
Получится так
(Нажмите, чтобы показать/скрыть)
Перед сохранением можно проверить с помощью предварительного просмотра.

по проблеме: 10.0.12.245 в интернет выходит? перепроверьте

Оффлайн Емельянов Максим

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Настройка подключения NAT
« Ответ #8 : 08 Мая 2015, 16:16:41 »
Елки палки, правда старый шлюз был))). Ребят прошу прощения за тупизм

 

Страница сгенерирована за 0.023 секунд. Запросов: 20.