kết nối Mở vSwitch chuyển sang mạng thực: iptables giả trang


9

Tôi đang sử dụng Open vSwitch để tạo một mạng chuyển đổi giữa các máy khách virtualBox và tôi muốn hệ điều hành máy chủ (Ubuntu 12.04) tham gia mạng này và định cấu hình nó làm cổng của mạng ảo này:

Đầu tiên, tôi đã tạo một vswitch và tôi đã thêm các cổng vào thiết bị (các máy ảo sử dụng chúng làm giao diện bắc cầu):

ovs-vsctl add-br sw0
ovs-vsctl add-port sw0 tap0

Sau đó, tôi thiết lập tĩnh ip của máy ảo LubFi 12.04:

ifconfig eth0 192.168.1.3/24 up
route add -net 0.0.0.0/0 gw 192.168.1.1

Ở phía máy chủ os, tôi cũng đặt địa chỉ IP:

ifconfig sw0 192.168.1.1/24 up

Tại thời điểm này, tôi có thể ping từ Lubunut đến Ubunutu. Bây giờ tôi muốn, trong máy chủ sử dụng IP giả trang để chuyển tiếp lưu lượng truy cập từ mạng 192.168.1.0/24 đến giao diện vật lý của tôi (kết nối với Internet):

sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE

Vì vậy, từ Lubfox (máy ảo), tôi có thể ping giao diện Ubuntu eth1, nhưng tôi không thể truy cập mạng thực (ví dụ: cổng trên mạng LAN thực), tôi đã thử:

nslookup google.com
dig @8.8.8.8 yahoo.com
dig @192.168.30.1 google.com

Cấu trúc mạng

   Internet (real gw) ------ Host OS -------- vswitch -------- VBox Guest 1
           192.168.30.1   ip masquerade    192.168.1.0/24
                                                |
                                                 ------------ VBox Guest 2

Vui lòng thêm bất kỳ tiến bộ nếu bạn đã có. Tôi có cùng một vấn đề.
Masood_mj

Câu trả lời:


1

Câu trả lời không thực sự là của tôi, nhưng ... Hãy thử theo dõi Open vSwitch trên VirtualBox

Ngoài ra còn có một tệp văn bản ngắn gọn từ một số người Fedora về chủ đề tương tự: libvirt và OpenVSwitch trong một dạng tệp văn bản ... mặc dù không thể định vị được nó.

theo nhận xét, đây là tóm tắt ngắn gọn:

(1) Tạo giao diện vnet0 và cầu br0:

ovs-vsctl add-br br0
ip tuntap add mode tap vnet0
ip link set vnet0 up
ovs-vsctl add-port br0 vnet0
ip link # (View the created interface)

(2) quay lên VM sử dụng giao diện vnet0 (như một bộ chuyển đổi cầu nối)

(3) kết nối cầu br0 với mạng thực:

ovs-vsctl add-br br0 
ovs-vsctl add-port br0 eth0 
ovs-vsctl add-port br0 vnet0 
ifconfig eth0  0 && ifconfig br0 192.168.1.(X) netmask 255.255.255.0
route add default gw 192.168.1.1 br0
route del default gw 192.168.1.1 eth0

Vì bạn đang liên kết đến một bài viết bên ngoài có thể thay đổi, nên tóm tắt giải pháp trong câu trả lời của bạn và tham khảo bài viết thay thế.
Esa Jokinen

0

Cho phép chuyển tiếp khi khởi động lại bằng cách bỏ bình luận những dòng này trong /etc/sysctl.conf :

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.