Помогите настроить IPTABLES
- Dark_Sarmat
- Маньяк
- Сообщения: 183
- Зарегистрирован: 24 мар 2008, 08:26
- Откуда: из Минска
- Контактная информация:
Помогите настроить IPTABLES
Народ, прочитал Вашу ствтью на Wiki, но IPTABLES ругается на то что там синтаксис не тот.
Система Linux Debifn RC3
Задача
2 сетевые платы: 1) LAN диапазон ip 192.168.125.1-254
2) WAN IP 172.17.222.X
Задача, нужно чтобы сервер работал в роли маршрутизатора. Из LAN в WAN и обратно бегали пакеты только ping, 1723 и GRE
Остальные порты на WAN можно закрыть.
На LAN сетевухе должно быть доступно все.
Помогите, выложите правила. атио у меня ничего не получается.
Система Linux Debifn RC3
Задача
2 сетевые платы: 1) LAN диапазон ip 192.168.125.1-254
2) WAN IP 172.17.222.X
Задача, нужно чтобы сервер работал в роли маршрутизатора. Из LAN в WAN и обратно бегали пакеты только ping, 1723 и GRE
Остальные порты на WAN можно закрыть.
На LAN сетевухе должно быть доступно все.
Помогите, выложите правила. атио у меня ничего не получается.
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.
- angor
- Интересующийся
- Сообщения: 40
- Зарегистрирован: 22 сен 2007, 12:08
- Откуда: Minsk
- Контактная информация:
А ваще.. я тут переделал свое.. (сорри, мог ошибиться, но отладить не проблема). Не ругайте, если что упустил.
я такое обозвал iptables, положил в /etc/init.d/, и сделал нечто типа "update-rc.d iptables defaults". Затем привычно /etc/init.d/iptables start/stop#!/bin/sh
#(c) ugenk fixed by angor
IPTABLES=/sbin/iptables
LAN=192.168.125.0/24
##### set to real ip ######
WAN_IP=172.17.222.X
case "$1" in
start)
echo "Starting firewall"
echo 1 >/proc/sys/net/ipv4/ip_forward
modprobe ip_conntrack_ftp
modprobe ip_conntrack_irc
$IPTABLES -A INPUT -i lo -j ACCEPT
####### NAT #######
$IPTABLES -t nat -A POSTROUTING -p 47 -s $LAN -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -p tcp -s $LAN --dport 1723 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -p icmp -s $LAN -j SNAT --to-source $WAN_IP
echo "Done..."
;;
stop)
echo "Flushing all firewall rules"
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -F
$IPTABLES -F -t nat
;;
restart)
$0 stop
$0 start
;;
reload)
echo "Function not implemented. Use restart instead."
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0Код: Выделить всё
-
- Неотъемлемая часть форума
- Сообщения: 354
- Зарегистрирован: 22 сен 2004, 13:47
- Откуда: Minsk
- Контактная информация:
Код: Выделить всё
iptables -P FORWARD DROP
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i <LAN_IFACE> -p gre -j ACCEPT
iptables -A FORWARD -i <LAN_IFACE> -p tcp --dport 1723 -j ACCEPT
iptables -A FORWARD -i <LAN_IFACE> -p icmp -j ACCEPT
Код: Выделить всё
iptables -t nat -A POSTROUTING -o <WAN_IFACE> -j SNAT --to <WAN_IP>
modprobe ip_nat_pptp
- Dark_Sarmat
- Маньяк
- Сообщения: 183
- Зарегистрирован: 24 мар 2008, 08:26
- Откуда: из Минска
- Контактная информация:
После отладки и анализа пришел к выводу, что наиболее оптимальным является следующий код:
Огромное спасибо за помощ и советы товарищам angor и Hermit
Если хотите, могу угостить пивом. Пишите в личку
Код: Выделить всё
#!/bin/sh
#firewall
IPTABLES=/sbin/iptables
LAN=192.168.125.0/24
##### set to real ip ######
WAN_IP=172.17.222.XXX
case "$1" in
start)
echo "Starting firewall"
echo 1 >/proc/sys/net/ipv4/ip_forward
modprobe ip_nat_pptp
$IPTABLES -A INPUT -i lo -j ACCEPT
####### NAT #######
$IPTABLES -t nat -A POSTROUTING -p 47 -s $LAN -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -p tcp -s $LAN --dport 1723 -j SNAT --to-source $WAN_IP
$IPTABLES -t nat -A POSTROUTING -p icmp -s $LAN -j SNAT --to-source $WAN_IP
echo "Done..."
;;
stop)
echo "Flushing all firewall rules"
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -F
$IPTABLES -F -t nat
;;
restart)
$0 stop
$0 start
;;
reload)
echo "Function not implemented. Use restart instead."
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0
Если хотите, могу угостить пивом. Пишите в личку
Если Админу дать много-много денег, то он построит огромную компьютерную сеть и будет админить для души.
- Dark_Sarmat
- Маньяк
- Сообщения: 183
- Зарегистрирован: 24 мар 2008, 08:26
- Откуда: из Минска
- Контактная информация:
Переключить политику цепочки FORWARD - в DROP, т.е. по-умолчанию все будет отбрасываться кроме пакетов подходящих под нижеописанные плавила. И составить список всего, что должно бегать.Dark_Sarmat писал(а):а как сделать так, чтобы через маршрутизатор бегали только pptp и imcp пакеты чтобы от провайдера ко мне в сеть никакой лишней дряни не валило и от меня к провайдеру.
т.е. цепочка FORWARD будет иметь следующий вид:
Код: Выделить всё
$IPTABLES -P FORWARD DROP
$IPTABLES -A FORWARD -m state --state related,established -j ACCEPT
$IPTABLES -A FORWARD -p 47 -s $LAN -j ACCEPT
$IPTABLES -A FORWARD -p tcp -s $LAN --dport 1723 -j ACCEPT
$IPTABLES -A FORWARD -p icmp -s $LAN -j ACCEPT
И узрите узкие места где пакеты можно и нужно брать "за яйца" =)
Последний раз редактировалось assd 04 ноя 2008, 13:44, всего редактировалось 1 раз.
- Dark_Sarmat
- Маньяк
- Сообщения: 183
- Зарегистрирован: 24 мар 2008, 08:26
- Откуда: из Минска
- Контактная информация:
- Dark_Sarmat
- Маньяк
- Сообщения: 183
- Зарегистрирован: 24 мар 2008, 08:26
- Откуда: из Минска
- Контактная информация: