Bài cấu hình NAT này cho phép nhiều card mạng trên một máy có thể forward gói tin với nhau. Ngoài ra nó còn hoạt động như hệ thống gateway để cung cấp việc truy cập giữa mạng ngoài và mạng local thông qua một IP.
Mọi thứ sẽ rõ ràng hình dung hơn qua ví dụ mình sắp chia sẻ dưới đây.
Đây là topology của mô hình NAT server s xây dựng trên máy ảo VMware 7.0, OS là RedHat Enterprise 5.
#bl3 Short explain: Mình sẽ tạo ra 2 máy ảo trên VMware
- LAN PC: Đại diện cho mạng Local, có 1 card mạng (Host-only) với IP 10.0.0.2/8.
- NAT server: Máy chủ NAT kết nối giữa Internal và External network, có 2 card mạng - eth1 nối với LAN gọi Private (Host-only) có IP 10.0.0.1/8 và eth0 nối với mạng ngoài gọi Public (Brigde) 192.168.1.2/24
- Máy thật: Đại diện cho máy mạng ngoài 192.168.1.3/24
- Cấu hình cho card mạng Public
- Cấu hình cho card mạng Private
- Đặt hostname, gateway và DNS server
- Cấu hình NAT với iptables
- Testing
-
#bl1Bước 1: Cấu hình cho card mạng Public$vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:50:BA:88:72:D4
IPADDR=192.168.1.2
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
GATEWAY=192.168.1.3 # IP máy thật
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:50:BA:88:72:D4
IPADDR=192.168.1.2
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
GATEWAY=192.168.1.3 # IP máy thật
#bl2Trên thực tế, ở card mạng này sẽ cấu hình theo thông số mà ISP cung cấp để ra internet. Trong mô hình này chúng ta chỉ mô phỏng internet bằng máy thật, do đó trỏ gateway đến nó.
#bl1Bước 2: Cấu hình cho card mạng Private
$vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
HWADDR=00:50:BA:78:7A:D4
IPADDR=10.0.0.1
NETMASK=255.0.0.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
# Không đặt gateway nữa
#bl2 Khởi động lại card mạng
$service network restart
#bl1Bước 3: Đặt hostname, gateway và DNS server
#bl2 Cấu hình hostname cho NAT server.
$vi /etc/hosts#bl2 Đặt gateway như đã làm với card mạng Public
127.0.0.1 nat localhost.localdomain localhost
$vi /etc/sysconfig/network#bl2 Hãy cung cấp DNS do IPS cung cấp
NETWORKING=yes
HOSTNAME=nat
GATEWAY=192.168.1.3
$vi /etc/resolv.conf#bl2 Trên LAN, cấu hình Gateway trỏ tới NAT server.
nameserver 8.8.8.8
nameserver 202.56.250.5
$vi /etc/sysconfig/networkSau khi cấu hình nhớ restart lại dịch vụ tương ứng.
NETWORKING=yes
HOSTNAME=lanpc
GATEWAY=10.0.0.1
#bl1Bước 4: Cấu hình NAT với iptables
#bl2 Kiểm tra sự tồn tại của iptable
$ rpm -qa | grep iptables
$ service iptables status
#bl2 Xóa sạch flush và filter mặc định của iptable (không nhất thiết!)
$ iptables --flush#bl2 Cài đặt FORWARD and Masquerading, với FORWARD chỉ có tác dụng chuyển gói trong Local do đó cần Masquerading để ra mạng ngoài qua eth0.
$ iptables --table nat --flush
$ iptables --delete-chain
$ iptables --table nat --delete-chain
$ iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE#bl2 Kích hoạt chế độ chuyển gói trong kernel
$iptables --append FORWARD --in-interface eth1 -j ACCEPT
$echo 1 > /proc/sys/net/ipv4/ip_forward#bl2 Lưu và khởi động lại dịch vụ.
$service iptables save
$service iptables restart
#bl1Bước 5: Testing
Bây giờ từ LAN bạn có thể ping thấy máy thật bên ngoài, nhưng ngược lại thì không.
$ping 192.168.1.3
Tham khảo
#lnk http://docs.redhat.com/.../firewall-ipt-fwd.html
#lnk http://www.youtube.com/embed/lbpGO_UrGFs
0 Nhận xét