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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: iptables + iproute2 Маркировка пакетов  (Прочитано 3061 раз)

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

Оффлайн strangeekb

  • Автор темы
  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
iptables + iproute2 Маркировка пакетов
« : 06 Сентября 2012, 11:06:47 »
Добрый день уважаемое сообщество!

Пытаюсь пробросить порт до серверов через 2 канала, скрипт следующий:
#! /bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward

#/usr/bin/pon vpn

echo 'Чистим таблицы'
ip route flush table Akado
ip route flush table TTK
ip route flush table Megafon

echo 'Правила ТТК'
#Правила для ТТК
ip route add default via 188.168.202.254 table TTK
ip rule add from 188.168.202.254 table TTK

echo 'Правила акадо'

# Правила для Акадо
ip route add default via 217.78.183.246 table Akado
ip rule add from 217.76.183.246 table Akado

echo 'Правила маркировки'
# Правила по которым пойдут пакеты
ip rule add fwmark 10 lookup Akado
ip rule add fwmark 20 lookup TTK

# Правила для Мегафона

echo 'Правила loopback'
# Правила lo
ip route add 127.0.0.0/8 dev lo table 201
ip route add 127.0.0.0/8 dev lo table 202
ip route add 127.0.0.0/8 dev lo table 203
ip route flush cache

echo 'Чистим таблицы iptables'
# Чистим iptables
iptables -F
iptables -t nat -F
iptables -t raw -F
iptables -t mangle -F
iptables -X
echo 'Убираем ненужные пакеты'
# Дропаем корявые пакеты
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i lo -j ACCEPT # Принимаем всё от lo
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT #Разрешаем установленные соединения
iptables -A INPUT -m conntrack --ctstate NEW -i eth0 -j ACCEPT #Разрешаем новые из локальной сети
iptables -A INPUT -m tcp -p tcp --dport 22 -j ACCEPT #Разрешаем SSH отовсюду

echo 'Разрешаем пинги'
#Разрешаем пинги
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT


echo 'Разрешаем пинги'
#Разрешаем пинги
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
iptables -A INPUT -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT


echo 'Разрешаем NAT TTK'
#Разрешаем NAT через ТТК
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
echo 'Разрешаем NAT Akado'
#Разрешаем NAT через Акадо
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

echo 'Проброс портов ТТК'
# Пробрасываем порт через ТТК
iptables -t nat -A PREROUTING -p tcp -d 188.168.202.148 --dport 80 -j DNAT --to-destination 192.168.0.52
iptables -A FORWARD -i eth0 -d 192.168.0.52 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 188.168.202.148 --dport 25 -j DNAT --to-destination 192.168.0.50
iptables -A FORWARD -i eth0 -d 192.168.0.50 -p tcp --dport 25 -j ACCEPT
echo 'Маркируем пакеты'
iptables -t mangle -A PREROUTING -i eth2 -j CONNMARK --set-mark 20
iptables -t mangle -A PREROUTING -i ppp0 -j CONNMARK --set-mark 10
iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark
echo 'Проброс портов акадо'
# Пробрасываем порт через Акадо
iptables -t nat -A PREROUTING -p tcp -d 178.75.33.202 --dport 80 -j DNAT --to-destination 192.168.0.52
iptables -A FORWARD -i eth0 -d 192.168.0.52 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 178.75.33.202 --dport 25 -j DNAT --to-destination 192.168.0.50
iptables -A FORWARD -i eth0 -d 192.168.0.50 -p tcp --dport 25 -j ACCEPT

Пакет всё равно идет по дефолтному маршруту, где что не правильно?

Пользователь решил продолжить мысль 06 Сентября 2012, 11:22:35:
Дело видимо даже не в маркировке, локально пакеты тоже не идут.
делаю ping -I eth2 8.8.4.4 ответов нет, меняю маршрут появляются, но исчезают на другом интерфейе.

Помогите пожалуйста.
« Последнее редактирование: 06 Сентября 2012, 11:22:35 от strangeekb »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28514
    • Просмотр профиля
Re: iptables + iproute2 Маркировка пакетов
« Ответ #1 : 07 Сентября 2012, 02:47:42 »
Начните сначала, что вы хотите сделать? "Пробросить порт до серверов через 2 канала" мне ни о чём не говорит, а читать портянку на 3 экрана в попытках понять, понимаете ли вы сами, что пишете - у меня глаза слипаются.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

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