Jump to content
Калькуляторы

iptables change ip source address, asterisk

имеется:

eth0

inet addr:a.a.a.b Mask:255.255.255.0

eth0:1

inet addr:a.a.a.c Mask:255.255.255.0

 

default route для двух адресов один

 

На машине стоит asterisk, надо что бы он подключался использую IP eth0:1

adsl_ip = IP eth0

adsl_ip184 = IP eth0:1

 

пробовал вот такое:

$IPT -t nat -A POSTROUTING -s $adsl_ip -d 0/0 -p ALL -m owner --gid-owner 106 -o $adsl -j $snat $adsl_ip184

$IPT -t nat -A POSTROUTING -s $adsl_ip -d 0/0 -p ALL -m owner --uid-owner 106 -o $adsl -j $snat $adsl_ip184

$IPT -t nat -A POSTROUTING -s $adsl_ip -d 0/0 -p udp -o $adsl --dport 5060 -j $snat $adsl_ip184

$IPT -t nat -A POSTROUTING -s 0/0 -d 0/0 -p udp -o $adsl --dport 5060 -j $snat $adsl_ip184

 

запросы все ровно идут от a.a.a.b

 

Делаешь то же самое например для 80 порта, все отрабатывает.

Share this post


Link to post
Share on other sites

может просто сменить src адрес - ip route add default gw via a.a.a.a src a.a.a.c ?

 

Share this post


Link to post
Share on other sites
может просто сменить src адрес - ip route add default gw via a.a.a.a src a.a.a.c ?

/sbin/ip rule add fwmark 5 table adsl_source
/sbin/ip route add default via A.A.A.A src A.A.A.C table adsl_source
/sbin/ip route flush cache

 

$IPT  -t mangle -A OUTPUT -p ALL -m owner --uid-owner 106 -o $adsl -j MARK --set-mark 5
$IPT  -t mangle -A OUTPUT -p ALL -m owner --gid-owner 106 -o $adsl -j MARK --set-mark 5

 

iptables -L -vn -t mangle

Chain OUTPUT (policy ACCEPT 43M packets, 35G bytes)
   pkts bytes target     prot opt in     out     source               destination
    0     0      MARK       all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           owner UID match 106 MARK set 0x5
1976  419K MARK       all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           owner GID match 106 MARK set 0x5

 

Смотришь tcpdump`ом, пакеты так и идут от A.A.A.B

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this