Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
mam w tej chwili do serwerka podlaczone dwie sieci
GTS 2 mbit i DSL 15mbit
wszystkie kompy domyslnie leca przez 2 mb a tylko ruch www kierowany jest przez DSLa, wszystko to pieknie dziala przez squida gdzie wpisane jest tcp_outgoing address
i teraz pytanie: chcialbym jednego kompa z puli adresow GTSa poscic przez DSL - da sie to zrobic bez markowania ? moze byc jakis MASQ czy cos obojetnie - byleby bez MARKowania bo nie mam tego wkompilowane w jajo a nie chce namieszac
Offline
jesli dobrze Cie rozumiem to chcesz caly ruch jednego komp. z sieci puscic DSLem a nie tylko www
SNAT na DSLa przed tym na GTSa dla tej maszyny? (pomoże)
Offline
bez marków nie widzę rozwiązania ,zatem kompilacja kernela ( w nocy ) i uruchomienie celu MARK w iptables
Offline
Wi ęc jak może działać jeżeli bramki brak??
Poszukaj sobie artykułów na temat podziału ruchu na dwa łącza.
Robi się to poprzez markowanie i odpowiednie reguły routingu z uzyciem iproute.
Offline
moze dzialac
1. przekierowujemy ruch z portu 80 na squida
2. w confie squida dajemy tcp_outgoingadres na dsla
3. wklepujemy pare regulek ....
ip route add default via XX.XX.XX.XX dev eth2 table dsl
ip rule add from YY.YY.YY.YY table dsl
ip route flush table cache
4. dziala gdzie XX.XX.XX.XX to network dsla, a YY.YY.YY.YY ip sieciowki podlaczonej do DSL'a
w ten sam sposob przez FROX'a mozna przekierowac ruch ftp wchodzacy i wychodzacy
wiec mozna
Offline
i w odpowiedzi nie dostajesz network unreachable?
Offline
a dlaczego upierasz sie na konfigu tego dsl'a bez bramki ?
wydaje mi sie ze przy normalnym konfigu routingu na interfejsach ... moznaby to zrobic bez markowania (masz routing na bramke w zaleznosci od src) i wtedy snat powinien zadzialac bez problemow
ewentualnie zamiast bramki ... moznaby sie zainteresowac celem "route" w iptables ale to chyba tez wymaga rekompilacji
IMHO nie wiedze za bardzo sensu markowania bo ruch ktory chcesz przekierowac jest bardzo dobrze okreslony przez IP z jakiego pochodzi ...
Offline
wydaje sie ze powinien byc routing na bramke dla dst 0.0.0.0/0 i src z IP na ktorego snat'ujesz ...
Offline
Uparciuch. Skoro brama przy dslu jest zbędna to do czego jest ci potrzebna bramka przy głównym łączu? Usuń ją tak dla świętego spokoju ;).
Problem który masz przerabiałem jakiś dwa lata temu dla dwóch dslków. Konfig chyba nie jest do końca poprawny, ale dizała.
Robiłem to na podstawie howto znalezionego w sieci i dziś raczej go nie odnajdę, jednak dość łatwo można przystosować ten skrypt do swoich potrzeb
#!/bin/bash #definiujemy zmienne #ip i nazwy miedzymordz IPDSL1="" NETDSL1="" GWDSL1="" BRDDSL1="" IPDSL2="" INETDSL2="" GWDSL2="" BRDDSL2="" IPLOCAL1="" NETLOCAL1="" BRDLOCAL1="" IPLOCAL2="" NETLOCAL2="" BRDLOCAL2="" DSL1="eth0" DSL2="eth1" LOCALNET="eth2" #mordowanie aktualnych ustawien ip /bin/ip link set $DSL1 down /bin/ip addres flush dev $DSL1 /bin/ip link set $DSL2 down /bin/ip addres flush dev $DSL2 /bin/ip link set $LOCALNET down /bin/ip addres flush dev $LOCALNET /bin/ip route flush all #inicjacja adresów ip na miedzymordziach /bin/ip link set $DSL1 up /bin/ip addr add $IPDSL1 broadcast $BRDDSL1 dev $DSL1 #ew. pozostałe adrsy do danego miedzymordzia echo 8 /bin/ip link set $DSL2 up /bin/ip addr add $IPDSL2 broadcast $BRDDSL2 dev $DSL2 #j.w. /bin/ip link set $LOCALNET up /bin/ip addr add $IPLOCAL1 broadcast $BRDLOCAL1 dev $LOCALNET /bin/ip addr add $IPLOCAL2 broadcast $BRDLOCAL2 label eth2:1 dev $LOCALNET #inicjacja tablicy routingu /bin/ip route add default via $GWDSL1 dev $DSL1 /bin/ip route add $NETDSL2 src $IPDSL2 via $GWDSL2 dev $DSL2 table 12 #/bin/ip route add $NETDSL2 src[color=red] tuadres[/color] via $GWDSL2 dev $DSL2 table 12 /bin/ip route add default via $GWDSL2 dev $DSL2 table 12 /bin/ip rule add fwmark 0x14 table 12 /bin/ip route flush cache
póżniej jeszcze markowanie
#!/bin/bash IPTBL='/sbin/iptables' #pingi i pongi $IPTBL -t mangle -A PREROUTING -p icmp --icmp-type echo-request -j MARK --set-mark 0x14 #www $IPTBL -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 0x14 $IPTBL -t mangle -A PREROUTING -p udp --dport 80 -j MARK --set-mark 0x14 #https $IPTBL -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 0x14 $IPTBL -t mangle -A PREROUTING -p udp --dport 443 -j MARK --set-mark 0x14
i snat
/usr/local/sbin/iptables -t nat -A POSTROUTING -s adreslokalny -o eth0 -j SNAT --to dslip1 /usr/local/sbin/iptables -t nat -A POSTROUTING -s adreslokalny -o eth1 -j SNAT --to dslip2
Offline
ale zauwaz ze markowanie uzyte jest do http ktore u Ciebie dziala ...
Offline
w ktorym miejscu ?
Kod:
$IPTBL -t mangle -A PREROUTING -p icmp --icmp-type echo-request -j MARK --set-mark 0x14 #www $IPTBL -t mangle -A PREROUTING -p tcp --dport 80 -j MARK --set-mark 0x14 $IPTBL -t mangle -A PREROUTING -p udp --dport 80 -j MARK --set-mark 0x14 #https $IPTBL -t mangle -A PREROUTING -p tcp --dport 443 -j MARK --set-mark 0x14 $IPTBL -t mangle -A PREROUTING -p udp --dport 443 -j MARK --set-mark 0x14
markowane sa pakiety w oparciu o porty na ktorych chodzi www (zwykle i szyfrowane) oraz (wczesniej pingi) a pisales ze:
tylko ruch www kierowany jest przez DSLa, wszystko to pieknie dziala przez squida gdzie wpisane jest tcp_outgoing address
wak naprawde chodzi o konfiguracje BRAMKI na karcie do ktorej podpiety jest DSL - kluczem jest:
Kod:
#inicjacja tablicy routingu /bin/ip route add default via $GWDSL1 dev $DSL1 /bin/ip route add $NETDSL2 src $IPDSL2 via $GWDSL2 dev $DSL2 table 12 #/bin/ip route add $NETDSL2 src[color=red] tuadres[/color] via $GWDSL2 dev $DSL2 table 12 /bin/ip route add default via $GWDSL2 dev $DSL2 table 12 /bin/ip rule add fwmark 0x14 table 12 /bin/ip route flush cache
Offline