Вторая задача отпускать в нет по быстрому каналу только несколько сайтов тоесть либо несколько подсетей либо несколько хостов. это будет указанно в переменной $ip_adr
Уже обгуглился мановобкурился, раскажите где я накосячил...
Начинаю пинговать сайт который указал в $ip_adr а он не пингуется и ответов вообще от него нет..
хотя с роутреа на нужной нам сетевушке все прекрасно снимается
с клиента
Код: Выделить всё
ping nnm.ruИ тишина в ответ...
c роутера
Код: Выделить всё
tcpdump -i eth2 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth2, link-type EN10MB (Ethernet), capture size 96 bytes
14:31:41.432554 IP 10.0.0.77 > volkh.nnm.netserv.name: ICMP echo request, id 20069, seq 2369, length 64
14:31:41.434885 IP volkh.nnm.netserv.name > 10.0.0.77: ICMP echo reply, id 20069, seq 2369, length 64
^C
2 packets captured
2 packets received by filter
0 packets dropped by kernelпеременная $ip_adr
Код: Выделить всё
cat adr
93.91.224.0/24
93.91.224.2
93.91.224.3
89.111.189.147
89.111.189.148
89.111.189.149
88.212.197.198Код скрипта айпитаблес
Код: Выделить всё
#!/bin/bash
#
ipt=/sbin/iptables
# Clear Iptables
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
# Acept input output traffic
$ipt -P INPUT ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
for ip_adr in `cat ./adr`
do
$ipt -t mangle -A PREROUTING -s 192.168.0.0/24 -d $ip_adr -j MARK --set-mark 1
$ipt -t mangle -A PREROUTING -s 192.168.0.0/24 -d $ip_adr -j CONNMARK --save-mark
done
#
$ipt -t mangle -A OUTPUT -s 192.168.0.0/24 -j CONNMARK --restore-mark
# dublicat
$ipt -t mangle -A OUTPUT -j CONNMARK --restore-mark
#
$ipt -A FORWARD -i eth1 -o eth0 -m connmark --mark 1 -j ACCEPT
$ipt -A FORWARD -i eth1 -o eth2 -j ACCEPT
$ipt -t nat -A POSTROUTING -m connmark --mark 1 -j MASQUERADE
$ipt -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADEв переменной $ip_adr подставляются адреса хостов которые должны ходить по второму каналу...
код скрипта для роута.
Код: Выделить всё
#/bin/bash
ip route flush table norm
ip route add 10.0.0.0/24 dev eth2 src 10.0.0.77 table norm
ip rule add fwmark 1 table norm
ip route add default via 10.0.0.200 dev eth2 table norm
ip route flush cacherouter iptables #route говорит
Код: Выделить всё
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 * 255.255.255.0 U 0 0 0 eth2
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1
83.222.220.0 * 255.255.255.0 U 0 0 0 eth0
default D1-MCH-gi0-2.80 0.0.0.0 UG 0 0 0 eth0
default 10.0.0.200 0.0.0.0 UG 1 0 0 eth2Плиз айнид ХЕЛП...