November 3, 2011

Membuat PC Router NAT dengan Linux (Fedora)


Dalam Hal ini dipakai Fedora Core 6 menggunakan 2 ethernet card :

- eth0 : ethernet card dengan ip public (static atau dhcp)
- eth1 : ethernet card Lokal (sebagai gateway utk klien2)

Langkah awal install-lah sistem operasi Linux Fedora Core 6 seperti biasa dan sesuaikan dengan keperluan sobatsekalian, kemudian jika sudah selesai login menggunakan root , lalu :

konfigurasi ip address eth0 , misal xxx.xxx.xxx.xxx (ip public static atau dhcp)
# vi /etc/sysconfig/network-scripts/ifcfg-eth0

konfigurasi ip address eth1 , misal 10.10.10.1 dengan netmask 255.255.255.0 (10.10.10.1/24)
# vi /etc/sysconfig/network-scripts/ifcfg-eth1

konfigurasi IP Address diatas dapat juga dilakukan saat menginstall Fedora.
( untuk konfigurasi sesuaikan editor dengan kebiasaan anda, disini di contohkan menggunakan vi )

# vi /etc/sysctl.conf
ubahlah
# Controls IP packet forwarding
net.ipv4.ip_forward = 1 <<<<<< ubah dari 0 menjadi 1.

kemudian kita edit iptables
# vi /etc/sysconfig/iptables, tambahkan pada chain NAT
*nat
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE (utk ip address 1 s/d 254)

Bila kita menginnginkan tidak semua ip yg dapat terkoneksi ke internet gunakan :

-A POSTROUTING -s 10.10.10.10 -j SNAT --to-source xxx.xxx.xxx.xxx

Sobat juga bisa melihat contoh lengkapnya:

*nat
:PREROUTING ACCEPT [127173:7033011]
:POSTROUTING ACCEPT [31583:2332178]
:OUTPUT ACCEPT [32021:2375633]
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE (menggunakan masquerade)

 atau

-A POSTROUTING -s 10.10.10.10 -j SNAT --to-source xxx.xxx.xxx.xxx  (menggunakan source nat)
COMMIT

*mangle
:PREROUTING ACCEPT [444:43563]
:INPUT ACCEPT [444:43563] :FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [402:144198]
:POSTROUTING ACCEPT [402:144198]

-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A PREROUTING -m tos --tos Minimize-Delay
-A PREROUTING -p tcp --sport ssh -j TOS --set-tos Minimize-Delay
-A OUTPUT -p tcp --dport ssh -j TOS --set-tos Minimize-Delay
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:icmp_packets - [0:0]

-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -j icmp_packets
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -p icmp -j icmp_packets
-A FORWARD -s 10.10.10.0/24 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

-A OUTPUT -p tcp --dport 135 -j DROP
-A OUTPUT -p udp --dport 137 -j DROP
-A OUTPUT -p udp --dport 138 -j DROP
-A OUTPUT -p tcp --dport 139 -j DROP
-A OUTPUT -p tcp --dport 445 -j DROP
-A OUTPUT -p icmp -j icmp_packets
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A icmp_packets -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A icmp_packets -s 127.0.0.1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -s xxx.xxx.xxx.xxx/xx -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -s 10.10.10.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
COMMIT

Setelah selesai simpan dengan menggunakan esc : wq
 
Reboot PC Router dan cobalah mengkonfigurasi ip address diklien dengan address :

IP Address  10.10.10.10
Netmask     255.255.255.0
Gateway     10.10.10.1
DNS sesuaikan dengan dns-mu

Silahkan akses internet menggunakan PC klien tadi, jika sudah bisa melakukan browsing artinya sobat telah berhasil membuat PC Router NAT dengan Linux (Fedora).

Semoga bermanfaat ....

No comments:

Post a Comment