Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: timonbg в Dec 03, 2005, 16:46



Титла: рутиране
Публикувано от: timonbg в Dec 03, 2005, 16:46
Здравайте,
Със Slackware 10.2 съм и се опитвам да пусна Net  на още 1 PC
моя Нет идва на Eth0 ..a със втора карта Eth1 искам да го рутирам към другото PC
eth1      
          inet addr:192.168.192.5   Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:114 errors:0 dropped:0 overruns:0 frame:0
          TX packets:98 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0
          RX bytes:10045 (9.8 Kb)  TX bytes:8225 (8.0 Kb)
на другото PC давам съответно IP 192.168.192.6 и Mask 255.255.255.0..GW 192.168.192.5 i DNs 192.168.192.5

използвам командите:
# Masquerade out eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# Disallow NEW and INVALID incoming or forwarded packets from eth0.
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i eth0 -m state --state NEW,INVALID -j DROP
# Turn on IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

и не става ...мякой има ли някакво рпедложение какво да направя за да го подкарам?


Титла: рутиране
Публикувано от: Hel1Fire в Dec 03, 2005, 17:18
A ти интернет имаш ли?

ping 192.168.192.6
ping <твоя gateway>
ping linux-bg.org

От другата машина "ping 192.168.192.5"

Вземи си намери някой хубав скрипт за iptables!! Ако не можеш да се справиш довечера като се прибера ще ти дам моя..


Титла: рутиране
Публикувано от: timonbg в Dec 03, 2005, 19:29
ping имам и от 2-та компютъра един към друг ..аз естествено че имам вече работещ интеренет на PC-то, което искам да използвам за рутиране.


Титла: рутиране
Публикувано от: Hel1Fire в Dec 03, 2005, 21:31
#!/bin/sh

INET_IP=""
INET_IFACE="eth0"
INET_BROADCAST=""

LAN_IP="192.168.0.1"
LAN_IP_RANGE="192.168.0.0/16"
LAN_IFACE="eth1"

LO_IFACE="lo"
LO_IP="127.0.0.1"

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT INPUT packet died: "
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT FORWARD packet died: "
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
$IPTABLES -t mangle -I PREROUTING -i input_interface -j TTL --ttl-set 5


Това ми е скрипта. Работи си като слънце (обърни внимание, че съм пуснал от външната мрежа да се вързват към Апач-а). Последния ред манипулира ТТЛ-а. Предполагам, че доставчика ти пуска пакетите с ТТЛ=1. Това е масова практика. За да го подкараш обаче трябва да се пачне ядрото и iptables!!

Успех!


Титла: рутиране
Публикувано от: divak в Dec 04, 2005, 11:48
Здравей

Цитат
на другото PC давам съответно IP 192.168.192.6 и Mask 255.255.255.0..GW 192.168.192.5 i DNs 192.168.192.5

Гледам, че си задал DNS. Надявам се че имаш такъв пуснат, който да слуша на 192.168.192.5.
Ако нямаш, сложи DNS същия като на рутъра.


Титла: рутиране
Публикувано от: Hel1Fire в Dec 04, 2005, 13:07
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/16 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/16 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 192.168.0.0/16 --dport 113 -j allowed
$IPTABLES -A udp_packets -p UDP -s 192.168.0.0/16 --destination-port 53 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

Съжалявам.. Снощи без да искам съм хванал неедитван скрипт.. Всъшност използвам тези горе и позволявам външната мрежа да се вързва само на 80 порт както и на 8,11 (четох, че трябвало да са отворени ама ся забравих защо). Пуснал съм и ДНС, който от 2-3 месеца се кана да оправям ама все не ми остава реме :(( ...