Показаны сообщения с ярлыком iptables. Показать все сообщения
Показаны сообщения с ярлыком iptables. Показать все сообщения

понедельник, 20 февраля 2017 г.

Обход ограничений на использование тетеринга.

Тетеринг — использование мобильного телефона в качестве точки доступа других устройств к услугам сети передачи данных оператора сотовой связи. При этом мобильный телефон выступает в качестве модема и маршрутизатора для подключившихся устройств.

Мобильные операторы связи предоставляя безлимитные тарифы для доступа в интернет вводят на своей сети ограничение на тетеринг. Есть несколько способов реализации данных ограничений, для большинства из них используется оборудование глубокого анализа пакетов (DPI), а самый распространенный способ ограничения тетеринга это контроль за TTL.

Для обхода ограничений тетеринга в linux можно использовать правила цепочки postrouting(изменения пакетов на выходе файрволла) в таблице маркировки (mangle), для изменения стандартных для ОС значений TTL:

iptables -t mangle -A POSTROUTING -o eth0 -j TTL --ttl-set 65


по умолчанию в linux kernel используется значение TTL равное 64, для windows 128, в solaris 254. Как правило операторы исходят из двух стандарных значений TTL - 64(не думаю, что имеются ввиду ПК на базе linux, т.к. данное ограничение коснется смартфонов на Android, т.к. эта ОС использует ядро linux) и 128, соответственно достаточно прибавить или отнять единицу от стандартного значения, тем самым обеспечив обход блокировки на тетеринг.
Замечено, что смартфоны на базе windows phone сами корректируют размер TTL и на выходе один хоп не отнимается.

вторник, 14 февраля 2017 г.

iptables как удалить абсолютно все правила

Удалить все правила из всех цепочек iptables:
 iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t raw -F
iptables -t raw -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

среда, 8 февраля 2017 г.

iptables - NAT основные команды

Разрешаем доступ из локальной сети в интернет, где eth1 - внутренний интерфейс, eth0 - в сторону
интернета, 172.24.1.0 локальная сеть, 10.1.1.37 адрес интерфейса eth0 в сторону провайдера:

# iptables -A FORWARD -i eth1 -o eth0 -s 172.24.1.0/24 -j ACCEPT
# iptables -A FORWARD -i eth0 -o eth1 -d 172.24.1.0/24 -j ACCEPT
# iptables -P FORWARD DROP
# iptables -t nat -A POSTROUTING -s 172.24.1.0/24 -o eth0 -j SNAT --to-source 10.1.1.37
# echo 1 > /proc/sys/net/ipv4/ip_forward



Проброс порта, на примере сервиса telnet:

# iptables -t nat -A PREROUTING -p tcp -d 10.1.1.37 --dport 23 -j DNAT --to-destination 172.24.0.2:23
# iptables -A FORWARD -i eht0 -o eth0 -d 172.24.0.2 -p tcp --dport 23 -j ACCEPT


Разрешить сети 172.24.1.0 udp запросы к серверу 8.8.8.8

# iptables -t nat -A POSTROUTING -p udp -s 172.24.1.0/24 -o eth0 -d 8.8.8.8 -j SNAT --to-source 10.1.1.37