Мужики. Если есть время помогите. Задача следующая.
Есть сервер на 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. Я могу и сам все сделать, но сегодня башка не варит, а за выходные нужно сделать. Поэтому и спрашиваю.
Если есть у кого наработки, поделитесь пожалуйста.
Второе. Есть ли у кого скрипт который бы сжимал определенную папку, добавлял к названию дату и кидал по сетке в другую расшаренную папку.
Несколько вопросов о samba и network
А правильно мыслю?
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Если будите в скрипте прописывать каждого пользователя то нет проблем. И укажите через какой интерфейс бегает инет?
Например
#!/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 ип адрес клиента кому положено
типо того.
Hа счёт сжатия надо скрипт сжимать папку в архив (man tar)
Hо сетевой диск лучше сначала при монтировать а потом cp и далее rm source.
Инета нет. Его потом прикручу.. как руки дойдут. Там как раз и будет 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 еще добавится.
Нет.
Вот так.
Таким макаром тупо делаем нат на подсети.
#!/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
Ладно. с tar я позже разберусь. Есть у меня уже наработачки smile
Просьба по делиться.
И ещё видел на сайте твоём что бьёшься на LDAP + SQUID если что могу посоветовать LDAP + TRAFFPRO. За traffpro стучи в личку.
Правила не сработали. Виндузовый комп 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
iptables -L
Если так то будет видеть всю сеть.
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
Ну грубо говоря
#!/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 и наоборот и жлюза и больше не что.
Правила не сработали. Виндузовый комп 192.168.1.100 все равно лезет в третью сетку. Правила пробовал оба варианта.
Ну сам говорил чтоб с 1 подсети видно было третью.
Или я что не так понял обрисуй точнее чтоб кто кого видел.
Вывод iptables -L
Да. Нужно что бы первая видела вторую и наоборот. Например, я указал шлюз на виндузовой тачке и она заимела инет от прозрачного прокси. Еще нужно задропить определенный список IP из третьей сетки, что бы они не могли спереть файлы и документы с первой. Т.е. открывать доступ только тем, кому хочу.
Дома к сожалению проверить проблематично... Все на виртуалке делаю. И скорее всего из-за этого не точности. У меня первый интерфейс жестко привязан к реальной карточке, а второй был NAT. Из-за этого наверное на правила пофигу. Буду разбираться.
Последний пример самое то.
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
Просвети про запись... pls...
Грубо говоря у проходящих пакетов меняет mtu хорошо помогает когда раздаёшь vpn инет.
Грубо говоря у проходящих пакетов меняет mtu хорошо помогает когда раздаёшь vpn инет.
Понял. Не сталкивался пока с такой необходимостью. Но спинным мозгом чую, что не далее как завтра столкнусь. Никак не могу настроить прохождение https с виндовых машин. С мой (linux) работает, а виндовые установить соединеие не могут. Подумалось, что собака именно в MTU зарылась.
порт открой tcp 443 или разреши прохождение.