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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Ubuntu Server как шлюз, перестали ходить пинги и отправлятся почта  (Прочитано 1184 раз)

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

Оффлайн Mantikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Здравствуйте.
Есть Ubuntu Server 14.04, который работает в качестве шлюза уже несколько лет.
Через Iptables разрешено ходить в интернет через nat только нескольким адресам, остальным разрешено только забирать почту, пинговать, и еще по мелочам.
Так вот на днях, все кто не ходит в интернет через nat перестали пинговать адреса за границей локальной сети, запросы отваливаются по time out. Почту отправить через клиент тоже не получается, хотя забирает ее нормально.

Есть скрипт, который загружает правила в iptables, не могу понять где проблема.
#!/bin/bash

OUT="ppp0" # имя исходящего интерфейса, смотрящего в интернет.
OUTADDR="xx.xxx.xxx.xxx" # Адрес исходящего интерфейса
IN="eth0" # имя входящего интерфейса, смотрящего в локальную сеть
INADDR="192.168.0.7" # Адрес входящего интерфейса
NETWORK="192.168.0.0/16" # Адресация вашей локальной сети
ANYWHERE="0.0.0.0/0" # Назначение, любое.
PORTS="1024:65535" # Порты, которые считаются локальными
MULTICAST="224.0.0.0/4" # Мультикаст пакеты

ADMINS="192.168.0.151 192.168.0.187 192.168.0.62 192.168.0.78 192.168.0.162"

##############################################################################################
# Остановка скрипта
case "$1" in
stop)
echo "Shutting down firewall..."

iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table filter --flush
iptables --table nat --delete-chain
iptables --table filter --delete-chain

iptables -t filter -P INPUT ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT

echo "...done"
;;
status)
echo $"Table: filter"
iptables --list
echo $"Table: nat"
iptables -t nat --list
;;
restart|reload)
$0 stop
$0 start
;;

################################################################
# Запуск скрипта
start)
echo "Starting Firewall..."
echo ""

# Очистка таблиц и цепочек
iptables --flush
iptables --delete-chain
iptables --table nat --flush
iptables --table filter --flush
iptables --table nat --delete-chain
iptables --table filter --delete-chain

# Назначение глобальных политик фаервола
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

# Загружаем модули, для корректной работы VPN, Active ftp, DCC in IRC которые будут идти через нат.

modprobe ip_conntrack
modprobe ip_gre
modprobe ip_nat_ftp
modprobe ip_nat_pptp
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc

# Включение форвардинга
echo 1 > /proc/sys/net/ipv4/ip_forward
# Включение форвардинга для VPN
echo 1 > /proc/sys/net/ipv4/ip_dynaddr

# Admins - full control (even dangerous)
for admin_ips in $ADMINS; do

iptables -A INPUT -s $admin_ips -m state --state NEW -j ACCEPT
done

##########################################################

# Silently Drop Stealth Scans
# All of the bits are cleared
iptables -A INPUT -p icmp --icmp-type timestamp-request -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
# SYN and FIN are both set
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
# SYN and RST are both set
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
# FIN and RST are both set
iptables -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
# FIN is the only bit set, without the expected accompanying ACK
iptables -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
# PSH is the only bit set, without the expected accompanying ACK
iptables -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
# URG is the only bit set, without the expected accompanying ACK
iptables -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP

################################################################

# Multicast - ignore
iptables -A INPUT -s $MULTICAST -j DROP
iptables -A INPUT -d $MULTICAST -j DROP

# any established or related conns are welcome
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Loopback
iptables -A INPUT -i lo -j ACCEPT

# Statistics and auths for customers, ping tests
for net_ips in $NETWORK; do

iptables -A INPUT -p icmp -i $IN --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i eth2 --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i $OUT --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i ppp1 --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p 139 -i ppp1 -j ACCEPT
iptables -A INPUT -p 139 -i ppp0 -j ACCEPT

done

############ Открываем нужные нам порты.
#Samba
iptables -A INPUT -p tcp -i $IN -m multiport --dport 139,445 -j ACCEPT
iptables -A INPUT -p udp -i $IN -m multiport --dport 137,138 -j ACCEPT

#SNMP port
iptables -A INPUT -p udp -i $IN --dport 161 -j ACCEPT

#SNTP time port
iptables -A INPUT -p udp -i $IN --dport 123 -j ACCEPT

# HTTP
iptables -A INPUT -p tcp -i $IN -m multiport --dport 80,443,10000 -j ACCEPT
iptables -A INPUT -p tcp --source 62.122.207.154 -i $OUT -m multiport  --dport 80,443,10000 -j ACCEPT

#Mail
iptables -A INPUT -p tcp -i $OUT -m multiport  --dport 465,995,587,143,993,110 -j ACCEPT

#MAIL
#iptables -A INPUT -p tcp -i $IN -m multiport --dport 25,110,143,465,995,993 -j ACCEPT

#dns
iptables -A INPUT -p udp -i $IN --dport 53 -j ACCEPT

########### OUTPUT
iptables -A OUTPUT -p icmp --icmp-type timestamp-reply -j DROP

########### NAT
POSTROUTING -s 192.168.0.0/23 -o $OUT -j SNAT --to-source 62.122.207.107
iptables -t nat -A POSTROUTING -s 192.168.0.5 -o $OUT -j SNAT --to-source xx.xxx.xxx.xxx ###fuji
iptables -t nat -A POSTROUTING -s 192.168.0.6 -o $OUT -j SNAT --to-source xx.xxx.xxx.xxx ###megatron

#############ОСТАЛЬНОЕ#############
##                                #
##                                #
##                                #
###################################

echo "...done"

echo "--> IPTABLES firewall loaded/activated <--"

##--------------------------------End Firewall---------------------------------##

;;
*)
echo "Usage: firewall (start|stop|restart|status) EXTIF INTIF"
exit 1
esac

exit 0

Если отобразить цепочку правил, то вроде все на месте.
adm@ubuntu:~$ sudo iptables -L -n -v
Chain INPUT (policy DROP 3995 packets, 356K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x03/0x03
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x06/0x06
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x05/0x05
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x11/0x01
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x18/0x08
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x30/0x20
    0     0 DROP       all  --  *      *       224.0.0.0/4          0.0.0.0/0
    0     0 DROP       all  --  *      *       0.0.0.0/0            224.0.0.0/4
2393K  684M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    7   677 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     icmp --  eth2   *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     icmp --  ppp0   *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     icmp --  ppp1   *       0.0.0.0/0            0.0.0.0/0            icmptype 8
    0     0 ACCEPT     139  --  ppp1   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     139  --  ppp0   *       0.0.0.0/0            0.0.0.0/0
    1    48 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            multiport dports 139,445
 1223  125K ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            multiport dports 137,138
  160 14577 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:161
    0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:123
   18   936 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            multiport dports 80,443,10000
    0     0 ACCEPT     tcp  --  ppp0   *       xx.xxx.xxx.xxx       0.0.0.0/0            multiport dports 80,443,10000
    0     0 ACCEPT     tcp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0            multiport dports 25,465,995,587,143,993,110
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:21 state NEW
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpts:50000:50500 state NEW
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:50000:50500 state NEW
    0     0 DROP       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3128
 2871  143K ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:40781
    0     0 ACCEPT     47   --  *      *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1723
    0     0 ACCEPT     tcp  --  ppp0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1723
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:1723
  252 18883 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     tcp  --  eth2   *       0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT 307K packets, 263M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  ppp0   *       0.0.0.0/0            192.168.0.8          tcp dpt:7681

Chain OUTPUT (policy ACCEPT 4732K packets, 789M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 14

Если делать трассировку, то отвечает только сам шлюз, дальше time out.
« Последнее редактирование: 21 Октября 2015, 17:04:13 от Mantikor »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
А загруженные правила могёте показать? А то что-то мой интерпретатор скриптов не хочет работать

Пользователь решил продолжить мысль [time]21 Октябрь 2015, 21:03:55[/time]:
Из блока "########### NAT" явно что-то выпало.

Как минимум "iptables -t nat -A "  впервой его строке
Но там точно что-то было ещё, так как Вы говорите, что никто просто так не ходил в фуллнет, а таких запретов я нигде не увидел
« Последнее редактирование: 21 Октября 2015, 21:04:25 от fisher74 »

Оффлайн Mantikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
А загруженные правила могёте показать? А то что-то мой интерпретатор скриптов не хочет работать
Может я чего-то не понимаю, но второй блок кода как-раз показывает загруженные правила для цепочек INPUT, FORWARD и OUTPUT.
Но там точно что-то было ещё, так как Вы говорите, что никто просто так не ходил в фуллнет, а таких запретов я нигде не увидел
Политика по умолчанию DROP же, "iptables -P INPUT DROP".

Полный вариант скрипта, можете увидеть здесь - http://pastebin.com/UkVdVjmV

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
но второй блок кода как-раз показывает загруженные правила для цепочек INPUT, FORWARD и OUTPUT.
Угу... но только всего лишь одной таблицы, а именно filter. Остальные остались за кулисами.

Политика по умолчанию DROP же, "iptables -P INPUT DROP".
Так это только INPUT. FORWARD на распашку.

можете увидеть здесь
с детства не приучен по ссылкам ходить


sudo iptables-save в студию

Оффлайн Mantikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Так это только INPUT. FORWARD на распашку.
Это да, это я упустил(

# Generated by iptables-save v1.4.21 on Wed Oct 21 22:55:13 2015
*nat
:PREROUTING ACCEPT [198907:15538742]
:INPUT ACCEPT [45287:3030926]
:OUTPUT ACCEPT [77050:4825113]
:POSTROUTING ACCEPT [96305:5805837]
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 2221 -j DNAT --to-destination 192.168.0.8:2221
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 17068 -j DNAT --to-destination 192.168.0.8:17068
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 465 -j DNAT --to-destination 192.168.1.54:465
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 995 -j DNAT --to-destination 192.168.1.54:995
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 587 -j DNAT --to-destination 192.168.1.54:587
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 143 -j DNAT --to-destination 192.168.1.54:143
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 993 -j DNAT --to-destination 192.168.1.54:993
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.1.54:25
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.1.54:110
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 7681 -j DNAT --to-destination 192.168.0.8:7681
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11401 -j DNAT --to-destination 192.168.0.224:11401
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11410 -j DNAT --to-destination 192.168.0.231:11410
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11402 -j DNAT --to-destination 192.168.0.222:11402
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11403 -j DNAT --to-destination 192.168.0.223:11403
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11404 -j DNAT --to-destination 192.168.0.225:11404
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11405 -j DNAT --to-destination 192.168.0.226:11405
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11406 -j DNAT --to-destination 192.168.0.227:11406
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11407 -j DNAT --to-destination 192.168.0.228:11407
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11408 -j DNAT --to-destination 192.168.0.229:11408
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11409 -j DNAT --to-destination 192.168.0.230:11409
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11411 -j DNAT --to-destination 192.168.0.232:11411
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11412 -j DNAT --to-destination 192.168.0.233:11412
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11414 -j DNAT --to-destination 192.168.0.235:11414
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11415 -j DNAT --to-destination 192.168.0.236:11415
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11416 -j DNAT --to-destination 192.168.0.237:11416
-A PREROUTING -d xx.xxx.xxx.xxx/32 -p tcp -m tcp --dport 11417 -j DNAT --to-destination 192.168.0.239:11417
-A POSTROUTING -s 192.168.0.3/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.5/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.6/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.8/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.9/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.10/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.11/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.12/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.17/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.18/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.25/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.29/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.31/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.32/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.34/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.37/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.38/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.39/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.40/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.42/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.43/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.50/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.53/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.58/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.59/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.27/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.63/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.80/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.83/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.90/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.93/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.102/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.113/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.123/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.153/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.156/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.201/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.202/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.251/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.5/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.7/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.8/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.22/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.23/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.24/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.28/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.29/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.31/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.33/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.54/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.61/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.68/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.99/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.140/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.86/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.244.2/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.244.3/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.244.4/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.244.8/32 -o ppp0 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p udp -m udp --dport 123 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 143 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 993 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.54/32 -o ppp0 -p tcp -m tcp --dport 25 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 110 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.1.54/32 -o ppp0 -p tcp -m tcp --dport 465 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 587 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 995 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 3389 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m multiport --dports 9001:9024 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m multiport --dports 8001:8102 -j SNAT --to-source xx.xxx.xxx.xxx
-A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p tcp -m tcp --dport 1723 -j SNAT --to-source xx.xxx.xxx.xxx
COMMIT
# Completed on Wed Oct 21 22:55:13 2015
# Generated by iptables-save v1.4.21 on Wed Oct 21 22:55:13 2015
*filter
:INPUT DROP [78189:6395031]
:FORWARD ACCEPT [2074253:1537664854]
:OUTPUT ACCEPT [43464797:10777865360]
-A INPUT -s 10.100.100.2/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.151/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.187/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.62/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.78/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.162/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.26/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.155/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.116/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.19/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.5/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.144/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.26/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.25/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.14/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.17/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.24/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.153/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.22/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.15/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.17/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.11/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.9/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.10/32 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.8/32 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
-A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
-A INPUT -s 224.0.0.0/4 -j DROP
-A INPUT -d 224.0.0.0/4 -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i eth2 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i ppp0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i ppp1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i ppp1 -p hip -j ACCEPT
-A INPUT -i ppp0 -p hip -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --dports 139,445 -j ACCEPT
-A INPUT -i eth0 -p udp -m multiport --dports 137,138 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 161 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --dports 80,443,10000 -j ACCEPT
-A INPUT -s 62.122.207.154/32 -i ppp0 -p tcp -m multiport --dports 80,443,10000 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m multiport --dports 25,465,995,587,143,993,110 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -m state --state NEW -j ACCEPT
-A INPUT -p tcp -m tcp --dport 50000:50500 -m state --state NEW -j ACCEPT
-A INPUT -p udp -m udp --dport 50000:50500 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 40781 -j ACCEPT
-A INPUT -p gre -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth2 -p tcp -j ACCEPT
-A FORWARD -d 192.168.0.8/32 -i ppp0 -p tcp -m tcp --dport 7681 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 14 -j DROP
COMMIT
# Completed on Wed Oct 21 22:55:13 2015
# Generated by iptables-save v1.4.21 on Wed Oct 21 22:55:13 2015
*mangle
:PREROUTING ACCEPT [52579097:23487291789]
:INPUT ACCEPT [47426051:19314322335]
:FORWARD ACCEPT [5094676:4167913242]
:OUTPUT ACCEPT [76099038:20636205699]
:POSTROUTING ACCEPT [81193882:24804158960]
-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 Wed Oct 21 22:55:13 2015

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
А проверьте, на ppp0 точно адрес 62.122.207.стописят4, который Вы прячете под иксами? (шпиён, я скажу, из Вас... ;) )

Пользователь решил продолжить мысль 21 Октября 2015, 23:09:50:
И зачем в скрипте переменная OUTADDR, если всё равно дальше почти везде адрес вписан?

Берёте для суши китайские палочки, а пользоваться умеете только на половину?
« Последнее редактирование: 21 Октября 2015, 23:09:50 от fisher74 »

Оффлайн Mantikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
А проверьте, на ppp0 точно адрес 62.122.207.стописят4, который Вы прячете под иксами? (шпиён, я скажу, из Вас... ;) )
Если вы об этом:
-A INPUT -s 62.122.207.154/32 -i ppp0 -p tcp -m multiport --dports 80,443,10000 -j ACCEPTто это старый адрес, а это правило я завтра уберу, ибо не пользовались доступом извне ни разу.
Так что шпион из меня, пока, нормальный ;)
И зачем в скрипте переменная OUTADDR, если всё равно дальше почти везде адрес вписан?

Берёте для суши китайские палочки, а пользоваться умеете только на половину?
Пример про палочки в целом верный. Учусь.
Про OUTADDR, он немного используется дальше, в той части коротую я вырезал, ибо счел в данном вопросе лишней.
Это осталось от прежнего работника, а я не сильно трогал пока работало. Так, порт открыть, добавить адрес в nat...

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Так эта переменная специально вводилась скриптописателем, чтобы одним махом менять внешний адрес...
Ну это ладно - лирика.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p icmp --icmp-type 8 -j SNAT --to-source xx.xxx.xxx.xxxи пинги пойдут

Почтовый клиент по какому порту с сервером вяжется?
Смотрите в этой же цепочке разрешающее правило на этот порт

PS рекомендую поднять на самый верх вот это правило
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Пользователь решил продолжить мысль 21 Октября 2015, 23:38:02:
Вот на эту строку обратите внимание
-A POSTROUTING -s 192.168.1.54/32 -o ppp0 -p tcp -m tcp --dport 25 -j SNAT --to-source xx.xxx.xxx.xxxКак-то она смотрится не этично среди правил с 16-ой маской. Да и порт у этого правила на SMTP намекает
Может всё же расширить его на всех страждующих?
« Последнее редактирование: 21 Октября 2015, 23:38:02 от fisher74 »

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Полный вариант скрипта, можете увидеть здесь - http://pastebin.com/UkVdVjmV
Скрипт, конечно, местами вызывает неподдельный восторг.
http://ipset.netfilter.org/, пользуйтесь.
OpenWrt 19.07

Оффлайн Mantikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Так эта переменная специально вводилась скриптописателем, чтобы одним махом менять внешний адрес...
Ну это ладно - лирика.
Поменял.
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o ppp0 -p icmp --icmp-type 8 -j SNAT --to-source xx.xxx.xxx.xxxи пинги пойдут
Да, спасибо, пошли.
Почтовый клиент по какому порту с сервером вяжется?
Смотрите в этой же цепочке разрешающее правило на этот порт
Вместо
iptables -t nat -A POSTROUTING -s 192.168.1.54/32 -o ppp0 -p tcp -m tcp --dport 465 -j SNAT --to-source xx.xxx.xxx.xxxсделал
iptables -t nat -A POSTROUTING -p tcp --dport 465 -s 192.168.0.0/16 -o $OUT -j SNAT --to-source $OUTADDRи почта пошла отправляться.
PS рекомендую поднять на самый верх вот это правило
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Done.
Вот на эту строку обратите внимание
-A POSTROUTING -s 192.168.1.54/32 -o ppp0 -p tcp -m tcp --dport 25 -j SNAT --to-source xx.xxx.xxx.xxxКак-то она смотрится не этично среди правил с 16-ой маской. Да и порт у этого правила на SMTP намекает
Может всё же расширить его на всех страждующих?
Нет, на 25 порту завелись спамеры, потому лучше так, а все нормальные люди на 465/933 и т.д. работают.


А теперь, поправьте меня, если я не прав:
# Statistics and auths for customers, ping tests
iptables -A INPUT -p icmp -i eth0 --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i eth2 --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i ppp0 --icmp-type echo-request -j ACCEPT
iptables -A INPUT -p icmp -i ppp1 --icmp-type echo-request -j ACCEPT
Эти правила будут работать, только если пингуется сам шлюз, поскольку это цепочка INPUT.

Не используйте цепочку INPUT для фильтрации транзитных пакетов, они туда просто не попадают! Через эту цепочку движутся только те пакеты, которые предназначены данному хосту!

#Mail
iptables -A INPUT -p tcp -i ppp0 -m multiport --dport 25,465,995,587,143,993,110 -j ACCEPT
Это правило позволяет забирать со шлюза почту(если бы там был почтовый сервер) по интерфейсу ppp0.
Поскольку почтовика нет, правило бесполезное.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
А теперь, поправьте меня, если я не прав:
Всё верно. Садись, пять.
(только "забирать и отправлять" ;) )

Оффлайн Mantikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
А теперь, поправьте меня, если я не прав:
Всё верно. Садись, пять.
ОК. Спасибо за помощь!

 

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