Собственно имеется ПК с двумя сетевыми адаптерами eth0 и eth1, к eth0 подключен адсл модем, соединение с инетом устанавливается по pppoe , eth1 смотрит в локалку. необходимо с помощью iptables организвать работу ната, компы из локалки должны ходить в инет. pppoe на линухе поднято мир виден. какой синтаксис команды, как выглядеть будет? внешний адрес каждый раз получает новый - динамический
настройка nat под fedora с pppoe
на данном форуме поищите давно уже есть решение
Спользовал такeю цепочку:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Но, компьютер(192.168.1.50/24) подключеный к eth1 линуксовой машины (192.168.1.20)
не ходит в инет, при этом ip линукса 192.168.1.20 пингуется, пингутся ip на ppp0 полученный от провайдера, дальше ip во вне не видно. форвард пакетов включен.
как быть, где искать?
днс ручками пропиши
днс ручками пропиши
прописан, не работает, комп из локалки не видет хостов в инете, но видит если пингануть ip на pppoe интерфейсе выданный провайдером
то, что имеем:
[root@autolegends johnny]# ifconfig
eth0 Link encap:Ethernet HWaddr 48:5B:39:BE:FD:69
inet6 addr: fe80::4a5b:39ff:febe:fd69/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1546 errors:0 dropped:0 overruns:0 frame:0
TX packets:1326 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1664262 (1.5 MiB) TX bytes:177634 (173.4 KiB)
Interrupt:19 Base address:0xd400
eth1 Link encap:Ethernet HWaddr 00:13:8F:04:73:95
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::213:8fff:fe04:7395/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:55 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7481 (7.3 KiB) TX bytes:6965 (6.8 KiB)
Interrupt:23 Base address:0x8b00
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:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
ppp0 Link encap:Point-to-Point Protocol
inet addr:95.132.13.102 P-t-P:195.5.5.184 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1
RX packets:1526 errors:0 dropped:0 overruns:0 frame:0
TX packets:1300 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1629402 (1.5 MiB) TX bytes:147281 (143.8 KiB)
[root@autolegends net]# cat /proc/sys/net/ipv4/ip_forward
1
[root@autolegends net]# cat /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4
[root@autolegends net]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
195.5.5.184 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
[root@autolegends net]# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[console]iptables -t nat -L -v[/console]
И если ADSL подрублен к eth0, то может ему присвоить IP?
Например IP модема 192.168.0.1
[console]ifconfig eth0 192.168.0.2 netmask 255.255.255.255 up
iptables -t nat -A POSTROUTING —s 192.168.1.0/24 —j MASQUERADE
iptables -A FORWARD —s 192.168.1.0/24 —j ACCEPT
iptables -A FORWARD —d 192.168.1.0/24 —j ACCEPT
iptables -A OUTPUT —o ppp0 —j ACCEPT
route add default gw 192.168.0.1
echo nameserver 192.168.0.1 > /etc/resolv.conf[/console]
XliN, спасибо, но увы - не работает и так..
XliN, спасибо, но увы - не работает и так..
А должен )))
решил проблему.
закоментировал строчку в /etc/iptables:
#-A FORWARD -j REJECT --reject-with icmp-host-prohibited
чичас работает по следующему правилу:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE