Вероятно, этот вопрос много раз задавали, но я, кажется, не могу найти надлежащее решение.
Вот моя установка:
Две виртуальных машины (Ubuntu 12.04) M1 и M2.
M1 имеет 2 сетевых адаптера: eth0
набор к NAT
и eth1
набор как Internal Network
в VirtualBox.
M2 имеет 1 сетевой адаптер, установка как Internal Network
в VirtualBox.
Я хочу установить M1 как прокси (использование iptables
), так, чтобы M2 имел доступ в Интернет.
Вот еще некоторые детали:
правила iptables:
iptables -A FORWARD -o eth0 -i eth1 -s 192.168.10.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -s 192.168.10.0/24 -p tcp --dport 80 -j REDIRECT --to-port 8080
iptables -t nat -I PREROUTING 1 -i eth1 -s 192.168.10.150 -p tcp -m tcp --dport 80 -j ACCEPT
Конфигурация интерфейсов:
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.10.125
netmask 255.255.255.0
broadcast 192.168.1.255
Конфигурация интерфейсов:
auto eth0
iface eth0 inet static
address 192.168.10.150
netmask 255.255.255.0
broadcast 192.168.1.255
Таблица маршрутизации IP ядра:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.10.125 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0