>отправ в форум
>ifconfig
>iptables -t nat -L
ifconfig
eth0 Link encap:Ethernet HWaddr 00:0E:0C:4B:77:63
inet addr:IP_P1 Bcast:0.0.0.0 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:283334260 errors:0 dropped:572 overruns:0 frame:0
TX packets:282930392 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:925389565 (882.5 MiB) TX bytes:1171249970 (1.0 GiB)
Base address:0xef80 Memory:dffe0000-e0000000eth2 Link encap:Ethernet HWaddr 00:07:E9:2A:A8:35
inet addr:IP_P2 Bcast:0.0.0.0 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:954469 errors:0 dropped:0 overruns:0 frame:0
TX packets:791211 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:741232320 (706.8 MiB) TX bytes:196984480 (187.8 MiB)
Base address:0xdf80 Memory:dfee0000-dff00000
eth3 Link encap:Ethernet HWaddr 00:0E:0C:4B:77:62
inet addr:IP_INT Bcast:0.0.0.0 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:257455117 errors:0 dropped:453 overruns:0 frame:0
TX packets:302234325 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:822227681 (784.1 MiB) TX bytes:2066265344 (1.9 GiB)
Base address:0xcf80 Memory:dfde0000-dfe00000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:626 errors:0 dropped:0 overruns:0 frame:0
TX packets:626 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:54788 (53.5 KiB) TX bytes:54788 (53.5 KiB)
iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destinationChain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT 0 -- anywhere anywhere MARK match 0x1 to:IP_P1
SNAT 0 -- anywhere anywhere MARK match 0x2 to:IP_P2
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
TOS tcp -- anywhere anywhere tcp dpt:telnet TOS set Minimize-Delay
TOS tcp -- anywhere anywhere tcp dpt:ssh TOS set Minimize-Delay
TOS tcp -- anywhere anywhere tcp dpt:ftp TOS set Minimize-Delay
TOS tcp -- anywhere anywhere tcp dpt:domain TOS set Minimize-Delay
TOS udp -- anywhere anywhere udp dpt:domain TOS set Minimize-Delay
TOS tcp -- anywhere anywhere tcp dpt:sftp TOS set Maximize-Throughput
TOS tcp -- anywhere anywhere tcp dpt:ftp-data TOS set Maximize-Throughput
TOS tcp -- anywhere anywhere tcp dpt:www TOS set Maximize-Throughput
TOS tcp -- anywhere anywhere tcp dpt:https TOS set Maximize-Throughput
TOS tcp -- anywhere anywhere tcp dpt:webmin TOS set Maximize-Throughput
TOS tcp -- anywhere anywhere tcp dpts:netbios-ns:netbios-ssn TOS set Maximize-Throughput
TOS udp -- anywhere anywhere udp dpts:netbios-ns:netbios-ssn TOS set Maximize-Throughput
CONNMARK 0 -- anywhere anywhere CONNMARK restoreChain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS set 1400
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MARK 0 -- anywhere anywhere state NEW MARK set 0x1
MARK 0 -- anywhere anywhere state NEW MARK set 0x2
CONNMARK 0 -- anywhere anywhere state NEW CONNMARK save
Вот так должно быть понятнее:
$IPT -t mangle -A POSTROUTING -m state --state NEW -o $IF_EXT1 -j MARK --set-mark 1
$IPT -t mangle -A POSTROUTING -m state --state NEW -o $IF_EXT2 -j MARK --set-mark 2
$IPT -t mangle -A POSTROUTING -m state --state NEW -j CONNMARK --save-mark
$IPT -t mangle -A PREROUTING -j CONNMARK --restore-mark# NAT
$IPT -t nat -A POSTROUTING -m mark --mark 1 -j SNAT --to-source $IP_EXT1
$IPT -t nat -A POSTROUTING -m mark --mark 2 -j SNAT --to-source $IP_EXT2
Сначала делал так:
$IPT -t mangle -A PREROUTING -i $IF_EXT1 -j MARK --set-mark 1
$IPT -t mangle -A PREROUTING -i $IF_EXT2 -j MARK --set-mark 2
$IPT -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o $IF_EXT1 -j SNAT --to-source $IP_EXT1
$IPT -t nat -A POSTROUTING -s 10.0.0.0/255.0.0.0 -o $IF_EXT2 -j SNAT --to-source $IP_EXT2
Потом нашёл в инете тот вариант, что указан выше. Он вроде бы лучше. Однако на мою ситуацию смена этих методов не влияет.