1 (20.11.2010 20:29:38 отредактировано XliN)

Мужики. Если есть время помогите. Задача следующая.
Есть сервер на CentOS
eth0 смотрит в локалку 192.168.1.0/24
eth1 смотрит в локалку 192.168.3.0/24

IP eth0: 192.168.1.254
IP eth1: 192.168.3.254

И так. Планируется сделать из него шлюз. Как правильно прописать правила в iptables?
Т.е. врубить NAT. Что бы например компу из третьей сетки, прописать шлюз 192.168.3.254 и тем самым дать инет (шлюз должен проверить есть ли у него доступ и только потом пускать в нет)

Хочется шлюз с винды перенести на Linux. Я могу и сам все сделать, но сегодня башка не варит, а за выходные нужно сделать. Поэтому и спрашиваю.


Если есть у кого наработки, поделитесь пожалуйста.

Второе.  Есть ли у кого скрипт который бы сжимал определенную папку, добавлял к названию дату и кидал по сетке в другую расшаренную папку.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

2 (20.11.2010 20:35:38 отредактировано XliN)

А правильно мыслю?

iptables -A FORWARD —s 192.168.1.0/24 —j ACCEPT 
iptables -A FORWARD —d 192.168.1.0/24 —j ACCEPT 
iptables -A FORWARD —s 192.168.3.0/24 —j ACCEPT 
iptables -A FORWARD —d 192.168.3.0/24 —j ACCEPT 
iptables -t nat -A POSTROUTING --out-interface eth0 -j SNAT --to-source 192.168.3.254
iptables -t nat -A POSTROUTING --out-interface eth1 -j SNAT --to-source 192.168.1.254
MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

3 (20.11.2010 20:58:20 отредактировано Kettler)

Если будите в скрипте прописывать каждого пользователя то нет проблем. И укажите через какой интерфейс бегает инет?

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

4 (20.11.2010 21:23:02 отредактировано Kettler)

Например

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Маскардинг в инет и локалку
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE  #ppp0 интерфейс где инет.
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -A FORWARD -i ppp0 -o eth1  -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0  -j ACCEPT

# Кому разрешаем. Можно и массив думаю но в програминге не силён.
iptables -A FORWARD -s ip -d ppp0  -j ACCEPT  #ip ип адрес клиента кому положено
iptables -A FORWARD -s ip -d ppp0  -j ACCEPT  #ip ип адрес клиента кому положено
iptables -A FORWARD -s ip -d ppp0  -j ACCEPT  #ip ип адрес клиента кому положено

типо того.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

5 (20.11.2010 21:25:17 отредактировано Kettler)

Hа счёт сжатия надо скрипт сжимать папку в архив (man tar)
Hо сетевой диск лучше сначала при монтировать а потом cp и далее rm source.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

6 (20.11.2010 21:59:25 отредактировано XliN)

Инета нет. Его потом прикручу.. как руки дойдут. Там как раз и будет pppoe через adsl.
Сначала надо наладить внутреннюю работу локальной сети. Мне достался такой бардак, аж руки опускаются.

Ладно. с tar я позже разберусь. Есть у меня уже наработачки  smile
Вот если я так забадяжу, должно же работать?

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -A FORWARD -s 192.168.3.100 -d eth0  -j ACCEPT
iptables -A FORWARD -s 192.168.1.100 -d eth1  -j ACCEPT

Побежит 192.168.3.100 в первую сеть? Ну и 192.168.1.100 в третью? Задача объединить две локалки и потом на нем же сделать выход в инет, но eth2 еще добавится.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

7 (20.11.2010 22:19:23 отредактировано Kettler)

Нет.
Вот так.

Таким макаром тупо делаем нат на подсети.
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#Маскардинг
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

А так ограничение по ип.
#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Маскардинг
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

iptables -A FORWARD -s 192.168.3.100 -o eth0  -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.3.100  -j ACCEPT

iptables -A FORWARD -s 192.168.1.100 -o eth1  -j ACCEPT
iptables -A FORWARD -i eth1 -d 192.168.1.100  -j ACCEPT

Ну или так
iptables -A FORWARD -s 192.168.1.100 -d 192.168.3.100  -j ACCEPT
iptables -A FORWARD -s 192.168.3.100 -d 192.168.1.100  -j ACCEPT

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

8

xlin пишет:

Ладно. с tar я позже разберусь. Есть у меня уже наработачки  smile

Просьба по делиться.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

9

И ещё видел на сайте твоём что бьёшься на LDAP + SQUID если что могу посоветовать LDAP + TRAFFPRO. За traffpro стучи в личку.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

10 (21.11.2010 00:10:36 отредактировано XliN)

Правила не сработали. Виндузовый комп 192.168.1.100 все равно лезет в третью сетку. Правила пробовал оба варианта.

На винде:
IP 192.168.1.100
mask: 255.255.255.0
gateway: 192.168.1.254

NAT срабатывает, а на FORWARD DROP пофигу.

debian:~# iptables -t nat -L -v
Chain PREROUTING (policy ACCEPT 69 packets, 7751 bytes)
pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 4 packets, 336 bytes)
pkts bytes target     prot opt in     out     source               destination
    2   168 MASQUERADE  all  --  any    eth0    anywhere             anywhere
    0     0 MASQUERADE  all  --  any    eth1    anywhere             anywhere

Chain OUTPUT (policy ACCEPT 6 packets, 504 bytes)
pkts bytes target     prot opt in     out     source               destination

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

11

iptables -L

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

12

Если так то будет видеть всю сеть.
iptables -A FORWARD -s 192.168.3.100 -o eth0  -j ACCEPT
iptables -A FORWARD -i eth0 -d 192.168.3.100  -j ACCEPT

iptables -A FORWARD -s 192.168.1.100 -o eth1  -j ACCEPT
iptables -A FORWARD -i eth1 -d 192.168.1.100  -j ACCEPT

А так ток необходимые адреса.
iptables -A FORWARD -s 192.168.1.100 -d 192.168.3.100  -j ACCEPT
iptables -A FORWARD -s 192.168.3.100 -d 192.168.1.100  -j ACCEPT

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

13 (21.11.2010 00:53:25 отредактировано Kettler)

Ну грубо говоря

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#Маскардинг
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu


iptables -A FORWARD -s 192.168.1.100 -d 192.168.3.100  -j ACCEPT
iptables -A FORWARD -s 192.168.3.100 -d 192.168.1.100  -j ACCEPT

Тут будет 192.168.1.100 видеть 192.168.3.100 и наоборот и жлюза и больше не что.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

14 (21.11.2010 00:24:20 отредактировано Kettler)

xlin пишет:

Правила не сработали. Виндузовый комп 192.168.1.100 все равно лезет в третью сетку. Правила пробовал оба варианта.

Ну сам говорил чтоб с 1 подсети видно было третью.
Или я что не так понял обрисуй точнее чтоб кто кого видел.
Вывод iptables -L

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

15

Да. Нужно что бы первая видела вторую и наоборот. Например, я указал шлюз на виндузовой тачке и она заимела инет от прозрачного прокси. Еще нужно задропить определенный список IP из третьей сетки, что бы они не могли спереть файлы и документы с первой. Т.е. открывать доступ только тем, кому хочу.

Дома к сожалению проверить проблематично... Все на виртуалке делаю. И скорее всего из-за этого не точности. У меня первый интерфейс жестко привязан к реальной карточке, а второй был NAT. Из-за этого наверное на правила пофигу. Буду разбираться.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

16

Последний пример самое то.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

17

Kettler пишет:

iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Просвети про запись... pls...

18

Грубо говоря у проходящих пакетов меняет mtu хорошо помогает когда раздаёшь vpn инет.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

19

Kettler пишет:

Грубо говоря у проходящих пакетов меняет mtu хорошо помогает когда раздаёшь vpn инет.

Понял. Не сталкивался пока с такой необходимостью. Но спинным мозгом чую, что не далее как завтра столкнусь. Никак не могу настроить прохождение https с виндовых машин. С мой (linux) работает, а виндовые установить соединеие не могут. Подумалось, что собака именно в MTU зарылась.

20 (22.11.2010 23:54:45 отредактировано Kettler)

порт открой tcp 443 или разреши прохождение.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

21 (23.11.2010 11:02:08 отредактировано Cruiser78)

Kettler пишет:

порт открой tcp 443 или разреши прохождение.

Прохожение разрешено. Более того, я на шлюзе вижу пакеты проходящие в обе стороны по FORWARD'у. Они регистрируются в iptables. На моей (Linux) станции проблем c https нет никаких (MTU 1472). А вот IExplorer на пользовательских виндовых машинах не может открыть https-страницу (MTU ???). Тупо висит...

Нечто похожее я наблюдал, когда настраивал ремутный доступ к своим серверам. Зависоны ушли после назначения на них MTU 1396. Вот и сейчас думаю, что проблема где рядом с МТU.
===============================================
Докладываю - https после ввода данного правила и полного разрешения icmp на шлюзе (а без него правило смысла не имеет) заработало у юзерей в полном объеме.

22 (07.12.2010 18:06:30 отредактировано PowerMan)

Kettler пишет:

Ну или так
iptables -A FORWARD -s 192.168.1.100 -d 192.168.3.100  -j ACCEPT
iptables -A FORWARD -s 192.168.3.100 -d 192.168.1.100  -j ACCEPT

Т,е . если прописать эти строчки , то я буду из одной подсети в другую бегать и обратно?

Если так , то что я неправильно делаю?
У меня настроен NAT eth0 - инет . eth1- локалка
сейчас добавил еще один сетевой интерфейс eth2
мне необходимо что бы с добавленной подсети выйти в инет и бегать по соседней подсети.

вывод вот  но что-тото никак

iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
TCPMSS     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  192.168.100.1        192.168.0.222       
ACCEPT     all  --  192.168.0.222        192.168.100.1       

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

23

вам надо тогда задавать подсеть и маску. как то так:

xxx.xxx.xxx.0/24

24

PowerMan обрисуй точнее что хочешь и можно cделать под тебя скрипт.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

25 (10.12.2010 14:47:06 отредактировано PowerMan)

Kettler пишет:

PowerMan обрисуй точнее что хочешь и можно cделать под тебя скрипт.


Стоит шлюз на  Debian 5 eth0-Inet есть ещë три карточки на три сети eth3 192.168.0.222. eth2 192.168.10.254 eth3 192.168.100.1

проблема в следующем из всех трех сетей я могу выходить в интернет, а другие машины к примеру 192.168.10.1 из машины 192.168.0.10 я невижу. вот в общем-то и все хочется бегать по этим сетям из любой точки (всмысле локально).

26

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#Маскардинг
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth2 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth3 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth4 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

27

Вот так будете как родные бегать к друг другу.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

28 (10.12.2010 14:53:46 отредактировано PowerMan)

Kettler пишет:

Вот так будете как родные бегать к друг другу.

А еще один глупый вопрос этот скрипт нуна написать внутри файлика /etc/iptables.up.rules
т.к. у меня ссылка на него  из /etc/network/ interfaces ?

29

Я делаю такс
touch /home/firewall.sh
nano /home/firewall.sh
всё туда закидываю
chmod +x /home/firewall.sh
и в /etc/rc.local перед exit0 добавляю
/home/firewall.sh

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

30

Спасибо! Чуть попозже начну воять, а то боюсь как вчера народ без инет оставил  ag