2 Power: Огромное спасибо за ссылку, это именно том что мне надо.
Но по мере того как я стал разбираться у меня возникли некоторые проблемы..
Во первых я сделал iptables-save и получил:
PHP Code:
# Generated by iptables-save v1.2.7a on Wed Jun 30 18:22:53 2010
*nat
:PREROUTING ACCEPT [989:129071]
:POSTROUTING ACCEPT [72:4322]
:OUTPUT ACCEPT [75:4502]
:VSERVER - [0:0]
-A PREROUTING -d 10.201.1.201 -j VSERVER
-A PREROUTING -d 192.168.38.37 -j VSERVER
-A PREROUTING -i vlan1 -p tcp -m tcp --dport 3128 -j DNAT --to-destination 192.168.1.1:3128
-A POSTROUTING -s ! 10.201.1.201 -o ppp0 -j MASQUERADE
-A POSTROUTING -s ! 192.168.38.37 -o vlan1 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/255.255.255.0 -d 192.168.1.0/255.255.255.0 -o br0 -j MASQUERADE
-A VSERVER -p tcp -m tcp --dport 33977 -j DNAT --to-destination 192.168.1.216:33977
-A VSERVER -p udp -m udp --dport 57776 -j DNAT --to-destination 192.168.1.128:57776
-A VSERVER -p udp -m udp --dport 56474 -j DNAT --to-destination 192.168.1.128:56474
-A VSERVER -p udp -m udp --dport 60453 -j DNAT --to-destination 192.168.1.128:60453
-A VSERVER -p udp -m udp --dport 51387 -j DNAT --to-destination 192.168.1.128:51387
-A VSERVER -p udp -m udp --dport 22688 -j DNAT --to-destination 192.168.1.128:22688
-A VSERVER -p udp -m udp --dport 49581 -j DNAT --to-destination 192.168.1.128:49581
-A VSERVER -p tcp -m tcp --dport 22688 -j DNAT --to-destination 192.168.1.128:22688
-A VSERVER -p udp -m udp --dport 49491 -j DNAT --to-destination 192.168.1.128:49491
-A VSERVER -p udp -m udp --dport 63792 -j DNAT --to-destination 192.168.1.128:63792
-A VSERVER -p udp -m udp --dport 59155 -j DNAT --to-destination 192.168.1.128:59155
-A VSERVER -p udp -m udp --dport 59280 -j DNAT --to-destination 192.168.1.128:59280
-A VSERVER -p udp -m udp --dport 49953 -j DNAT --to-destination 192.168.1.128:49953
-A VSERVER -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.128:21
-A VSERVER -p udp -m udp --dport 21 -j DNAT --to-destination 192.168.1.128:21
-A VSERVER -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.117:21
-A VSERVER -p udp -m udp --dport 21 -j DNAT --to-destination 192.168.1.117:21
-A VSERVER -p tcp -m tcp --dport 8085 -j DNAT --to-destination 192.168.1.216:8085
-A VSERVER -p udp -m udp --dport 8085 -j DNAT --to-destination 192.168.1.216:8085
-A VSERVER -p tcp -m tcp --dport 1080 -j DNAT --to-destination 192.168.1.216:1080
-A VSERVER -p udp -m udp --dport 1080 -j DNAT --to-destination 192.168.1.216:1080
COMMIT
# Completed on Wed Jun 30 18:22:53 2010
# Generated by iptables-save v1.2.7a on Wed Jun 30 18:22:53 2010
*mangle
:PREROUTING ACCEPT [8332:2638559]
:INPUT ACCEPT [4491:848796]
:FORWARD ACCEPT [3571:1738353]
:OUTPUT ACCEPT [3179:775104]
:POSTROUTING ACCEPT [6795:2534101]
COMMIT
# Completed on Wed Jun 30 18:22:53 2010
# Generated by iptables-save v1.2.7a on Wed Jun 30 18:22:53 2010
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [202:29151]
:OUTPUT ACCEPT [2482:344380]
:MACS - [0:0]
:SECURITY - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]
-A INPUT -m state --state INVALID -j DROP
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -m state --state NEW -j ACCEPT
-A INPUT -i br0 -m state --state NEW -j ACCEPT
-A INPUT -i ppp0 -m state --state NEW -j SECURITY
-A INPUT -d 192.168.1.1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -j DROP
-A INPUT -p tcp -m tcp --dport 3128 -j ACCEPT
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ! br0 -o ppp0 -j DROP
-A FORWARD -i ! br0 -o vlan1 -j DROP
-A FORWARD -i ! br0 -m state --state NEW -j SECURITY
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
-A FORWARD -o br0 -j DROP
-A SECURITY -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 1/sec -j RETURN
-A SECURITY -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK RST -m limit --limit 1/sec -j RETURN
-A SECURITY -p udp -m limit --limit 5/sec -j RETURN
-A SECURITY -p icmp -m limit --limit 5/sec -j RETURN
-A SECURITY -j DROP
-A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logaccept -j ACCEPT
-A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logdrop -j DROP
COMMIT
# Completed on Wed Jun 30 18:22:53 2010
И меня очень удивило следующие, в таблице NAT есть куча правил которые я не создавал, в файле post-firewall их разумеется нету, и как их перманентно убрать я не сообразил, я говорю вот об этих правилах:
PHP Code:
-A VSERVER -p tcp -m tcp --dport 33977 -j DNAT --to-destination 192.168.1.216:33977
-A VSERVER -p udp -m udp --dport 57776 -j DNAT --to-destination 192.168.1.128:57776
-A VSERVER -p udp -m udp --dport 56474 -j DNAT --to-destination 192.168.1.128:56474
-A VSERVER -p udp -m udp --dport 60453 -j DNAT --to-destination 192.168.1.128:60453
-A VSERVER -p udp -m udp --dport 51387 -j DNAT --to-destination 192.168.1.128:51387
-A VSERVER -p udp -m udp --dport 22688 -j DNAT --to-destination 192.168.1.128:22688
-A VSERVER -p udp -m udp --dport 49581 -j DNAT --to-destination 192.168.1.128:49581
-A VSERVER -p tcp -m tcp --dport 22688 -j DNAT --to-destination 192.168.1.128:22688
-A VSERVER -p udp -m udp --dport 49491 -j DNAT --to-destination 192.168.1.128:49491
-A VSERVER -p udp -m udp --dport 63792 -j DNAT --to-destination 192.168.1.128:63792
-A VSERVER -p udp -m udp --dport 59155 -j DNAT --to-destination 192.168.1.128:59155
-A VSERVER -p udp -m udp --dport 59280 -j DNAT --to-destination 192.168.1.128:59280
-A VSERVER -p udp -m udp --dport 49953 -j DNAT --to-destination 192.168.1.128:49953
-A VSERVER -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.1.117:21
-A VSERVER -p udp -m udp --dport 21 -j DNAT --to-destination 192.168.1.117:21
(на всякий случай уточню, 192.168.1.216 - это стационарный ПК подключенный к роутеру по шнуру в порт LAN1, 192.168.1.128 - это ноутбук подключаемый по wifi)
Сейчас и основной компьютер и ноутбук забиты в DHCP Server и получают одни и те же ip, и сразу хотел бы спросить, как сделать так чтобы доступ к роутеру был только по MAC адресам, а именно я хочу чтобы только компьютеры квартиры и компьютер друга из внешней(провайдерской сети) могли пользоваться роутером.(просто судя по вашим постам из топика NAT в WAN, там нигде не разграничивается кто может пользоваться из внешней сети интернетом туда переправляемым)
Далее я попробовал воспользоваться вашим советом по тому как раздать интернет пришедший по VPN в WAN в сеть подключенную в этот же WAN:
PHP Code:
index=`iptables -L FORWARD -nv --line-numbers | grep 'RELATED,ESTABLISHED' | cut -d ' ' -f 1 -s`
echo $index
iptables -I FORWARD $((index+1)) -o ppp0 -i eth1 -j ACCEPT
iptables -L FORWARD -nv
и для работы DNS
PHP Code:
iptables -I FORWARD $((index+2)) -o vlan1 -i vlan1 -j ACCEPT
Но у моего друга инета так и не появилось(его айпи в внешней сети 192.168.38.25, а айпи роутера 192.168.38.37), не могу понять в чем дело..