Some Linux Iptables Examples

# iptables -L -n -v
Where:
-L : List rules.
-v : Display detailed information.
-n : Display IP address and port in numeric format

[panel style=»panel-success»] [panel-header] Inactive firewall output:
[/panel-header] [panel-content]
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
[/panel-content] [/panel] [panel style=»panel-success»] [panel-header] active firewall output:
[/panel-header] [panel-content]
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
  394 43586 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   93 17292 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
    1   142 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  br0    br0     0.0.0.0/0            0.0.0.0/0
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           state INVALID
    0     0 TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 wanin      all  --  vlan2  *       0.0.0.0/0            0.0.0.0/0
    0     0 wanout     all  --  *      vlan2   0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     all  --  br0    *       0.0.0.0/0            0.0.0.0/0
Chain OUTPUT (policy ACCEPT 425 packets, 113K bytes)
 pkts bytes target     prot opt in     out     source               destination
Chain wanin (1 references)
 pkts bytes target     prot opt in     out     source               destination
Chain wanout (1 references)
 pkts bytes target     prot opt in     out     source               destination
[/panel-content] [/panel]

INPUT or OUTPUT chain rules

# iptables -L INPUT -n -v
# iptables -L OUTPUT -n -v --line-numbers

Drop all incoming/forwarded, allow outgoing traffic

# iptables -P INPUT DROP
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -L -v -n

Blocking an IP Address

# iptables -A INPUT -s 1.2.3.4 -j DROP
# iptables -A INPUT -s 192.168.0.0/24 -j DROP

Block Incoming Port

To block all service requests on port 80, enter:

# iptables -A INPUT -p tcp --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp --dport 80 -j DROP

To block port 80 only for an ip address 1.2.3.4, enter:

# iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
# iptables -A INPUT -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

Block Domain

First, find out all ip address of facebook.com, enter:

# host -t a www.facebook.com
[panel style=»panel-success»] [panel-header] Sample outputs:
[/panel-header] [panel-content]
www.facebook.com has address 69.171.228.40
[/panel-content] [/panel] Find CIDR for 69.171.228.40, enter:

# whois 69.171.228.40 | grep CIDR
[panel style=»panel-success»] [panel-header] Sample outputs:
[/panel-header] [panel-content]
CIDR:           69.171.224.0/19
[/panel-content] [/panel] DROP outgoing access to www.facebook.com:

# iptables -A OUTPUT -p tcp -d 69.171.224.0/19 -j DROP

OR

# iptables -A OUTPUT -p tcp -d www.facebook.com -j DROP
# iptables -A OUTPUT -p tcp -d facebook.com -j DROP
[toggles class=»yourcustomclass»] [toggle title=»MY IPTABLES» class=»in»]
#!/bin/bash
export IPT="iptables"
export WAN=eth0
export LAN=vboxnet0
export LAN_IP_RANGE=192.168.1.0/24
#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 $LAN -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT
$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 $LAN -o $WAN -j ACCEPT
$IPT -A FORWARD -i $WAN -o $LAN -j REJECT
$IPT -t nat -A POSTROUTING -s 10.11.0.0/24 -o $WAN - j MASQUERADE
$IPT -A FORWARD -s 10.11.0.0/24 -j ACCEPT
# **********************************************************************
#ICMP(ping)
$IPT -A INPUT -i $WAN -p icmp -j ACCEPT
#HTTP on WAN
$IPT -A INPUT -i $WAN -p tcp --dport 80 -j ACCEPT
#FTP
$IPT -A INPUT -i $WAN -p tcp --dport 20 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp --dport 21 -j ACCEPT
#SSH
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp --dport 443 -j ACCEPT
#************************************************************************
#PORT FORWARD(WAN -> LAN)
#RDP
$IPT -t nat -A PREROUTING -p tcp --dport 3391 -i $WAN -j DNAT --to 192.168.1.2:3389
# **********************************************************************
$IPT -L
[/toggle] [/toggles]

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Releated

Не подключается Samba/NAS после установки/обновления на Ubuntu 20.04

Начиная с версии 4 сервер Samba, и клиент Samba не поддерживают согласование протоколов на более старом уровне. Вы должны включить их в файле smb.conf

Отредактируйте файл /etc/samba/smb.conf (требуются права root)

в разделе [global] добавьте следующую строку:

client min protocol = NT1

Сохраните файл и выйдите из редактора.

Следует перезапустить службу Samba, чтобы это изменение вступило в силу. В терминале введите эту команду:

sudo service smbd restart

Linux Mint Debian Edition 4

Увидел свет выпуск альтернативной сборки дистрибутива Linux Mint — Linux Mint Debian Edition 4, выполненной на основе пакетной базы Debian (классический Linux Mint базируется на пакетной базе Ubuntu). Кроме использования пакетной базы Debian, важным отличием LMDE от Linux Mint является постоянный цикл обновления пакетной базы (модель непрерывных обновлений: частичный роллинг-релиз, semi-rolling release), при котором обновления пакетов выходят постоянно и пользователь в любой момент имеет возможность перейти на последние версии программ.

Дистрибутив доступен в виде установочных iso-образов LMDE4_x64 и LMDE4_x32 с десктоп-окружением Cinnamon. В поставку LMDE включено большинство улучшений классического релиза Mint 19.3, в том числе оригинальные разработки проекта (менеджер обновлений, конфигураторы, меню, интерфейс, системные GUI-приложения). Дистрибутив полностью совместим с Debian GNU/Linux, но не совместим на уровне пакетов с Ubuntu и классическими релизами Linux Mint.

LMDE ориентирован на более технически грамотных пользователей и предоставляет более новые версии пакетов. Целью развития LMDE является проверка того, что Linux Mint сможет продолжить существовать в том же виде даже в случае прекращения разработки Ubuntu. Кроме того, LMDE помогает проверять развиваемые проектом приложения на предмет их полноценной работы в системах, отличных от Ubuntu.

Основные изменения:

  • Поддержка автоматической разбивки дисковых разделов для LVM и при шифровании всего диска;
  • Поддержка шифрования содержимого домашнего каталога;
  • Поддержка автоматической установки драйверов NVIDIA;
  • Поддержка накопителей NVMe;
  • Поддержка верифицированной загрузки в режиме UEFI SecureBoot;
  • Поддержка субмодулей Btrfs;
  • Переработанный инсталлятор;
  • Автоматическая установка пакетов с микрокодом;
  • Автоматическое изменение разрешение экрана до 1024×768 при запуске Live-сеанса в Virtualbox;
  • Перенос улучшений из Linux Mint 19.3, в том числе инструмент для определения оборудования HDT, утилита boot-repair для восстановления повреждённой загрузочной конфигурации, системные отчёты, настройки языка, улучшение поддержки HiDPI, новое загрузочное меню, приложения Celluloid, Gnote, Drawing, рабочий стол Cinnamon 4.4, пиктограммы состояния XApp и т.п.
  • Включение по умолчанию установки рекомендуемых зависимостей (категория recommended);
  • Удаление пакетов и репозитория deb-multimedia;
  • Пакетная база Debian 10 с репозиторием backports.