Brama sieciowa
Z wiki linux-user
(Utworzył nową stronę „ Logujemy się do swojego systemu jako root i edytujemy plik ''/etc/sysctl.conf'' vi /etc/sysctl.conf Dodajemy następującą linie aby włączyć przekazywanie p...”) |
|||
Linia 13: | Linia 13: | ||
Po pierwsze musimy zaopatrzyć się w dwie karty sieciowe, bez tego nie da rady zrobić routera. Z jednej sieciówki będziemy korzystać jako z interfejsu WAN a z drugiej jako LAN. | Po pierwsze musimy zaopatrzyć się w dwie karty sieciowe, bez tego nie da rady zrobić routera. Z jednej sieciówki będziemy korzystać jako z interfejsu WAN a z drugiej jako LAN. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | == Włączamy przekazywania pakietów == | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | Logujemy się do swojego systemu jako root i edytujemy plik ''/etc/sysctl.conf''. | |
+ | vi /etc/sysctl.conf | ||
+ | Dodajemy następującą linie aby włączyć przekazywanie pakietów dla IPv4 | ||
+ | net.ipv4.conf.default.forwarding=1 | ||
+ | Zapisujemy i wychodzimy, następnie restartujemy karty sieciowe | ||
+ | /etc/init.d/network restart | ||
− | Na koniec jeszcze bardzo miły skrypcik udostępniony przez członków strony www.cyberciti.biz skrypcik do sherowania połączenia internetowego, należy go tylko dostosować do swoich potrzeb | + | |
− | #!/bin/bash | + | == Udostępnianie połączenia internetowego ==Aby udostępnić nasze łącze innym komputerom w sieci musimy odpowiednio skonfigurować zapore systemu [[firewall|iptables]] Skonfigurowanie udostępnienia połączenia poprzez np interfejs eth1 musimy: |
− | # Created by nixCraft - www.cyberciti.biz | + | # service iptables stop |
− | IPT="/sbin/iptables" | + | iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE |
− | MOD="/sbin/modprobe" | + | service iptables save |
− | # set wan interface such as eth1 or ppp0 | + | service iptables restart |
− | SHARE_IF="eth1" | + | |
− | # clean old fw | + | Aby wszystko działało musimy również odpowiednio skonfigurować połączenia sieciowe czyli pliki np ''/etc/sysconfig/network-scripts/ifcfg-eth0'' oraz ''ifcfg-eth1'', przykładowa konfiguracja: |
− | echo "Clearing old firewall rules..." | + | # Realtek Semiconductor Co., Ltd. RTL-8138/8139C/8139C+ |
− | iptables -F | + | DEVICE=eth1 |
− | iptables -X | + | BOOTPROTO=none |
− | iptables -t nat -F | + | BROADCAST=10.14.14.255 |
− | iptables -t nat -X | + | HWADDR=4c:00:10:7b:6a:03 |
− | iptables -t mangle -F | + | IPADDR=10.17.17.110 |
− | iptables -t mangle -X | + | NETMASK=255.255.255.0 |
− | iptables -P INPUT ACCEPT | + | NETWORK=10.17.17.0 |
− | iptables -P OUTPUT ACCEPT | + | ONBOOT=yes |
− | # Get some kernel modules | + | GATEWAY=10.17.17.1 |
− | echo "Loading kernel modules..." | + | TYPE=Ethernet |
− | $MOD ip_tables | + | |
− | $MOD iptable_filter | + | Jeden interfejs powinien być skonfigurowany pod odbieranie internetu od dostawcy (''WAN'') a drugi na dawanie połączenia dla naszej sieci lokalnej (''LAN''). |
− | $MOD iptable_nat | + | |
− | $MOD ip_conntrack | + | Na koniec jeszcze bardzo miły skrypcik udostępniony przez członków strony [http://www.cyberciti.biz www.cyberciti.biz] skrypcik do sherowania połączenia internetowego, należy go tylko dostosować do swoich potrzeb |
− | $MOD ipt_MASQUERADE | + | #!/bin/bash |
− | $MOD ip_nat_ftp | + | # Created by nixCraft - www.cyberciti.biz |
− | $MOD ip_nat_irc | + | IPT="/sbin/iptables" |
− | $MOD ip_conntrack_ftp | + | MOD="/sbin/modprobe" |
− | $MOD ip_conntrack_irc | + | # set wan interface such as eth1 or ppp0 |
− | # Clean old rules if any, rhel specific but above will take care of everything | + | SHARE_IF="eth1" |
− | # service iptables stop | + | # clean old fw |
− | # unlimited traffic via loopback device | + | echo "Clearing old firewall rules..." |
− | $IPT -A INPUT -i lo -j ACCEPT | + | iptables -F |
− | $IPT -A OUTPUT -o lo -j ACCEPT | + | iptables -X |
− | echo "Setting ${SHARE_IF} as router interface..." | + | iptables -t nat -F |
− | $IPT --table nat --append POSTROUTING --out-interface ${SHARE_IF} -j MASQUERADE | + | iptables -t nat -X |
− | # Start other custom rules | + | iptables -t mangle -F |
− | #$IPT | + | iptables -t mangle -X |
− | # End other custom rules | + | iptables -P INPUT ACCEPT |
− | echo "*** Instructions on TCP/IP On The Windows / Mac / Linux Masqueraded Client ***" | + | iptables -P OUTPUT ACCEPT |
− | echo "1. Login to your other LAN desktop computers" | + | # Get some kernel modules |
− | echo "2. Open network configuration GUI tool such. Under Windows XP - Click Start, click Control Panel, click Network and Internet Connections, and then click Network Connections" | + | echo "Loading kernel modules..." |
− | echo "3. Set DNS (NS1 and NS2) to 208.67.222.222 and 208.67.220.220" | + | $MOD ip_tables |
− | echo "4. Select the 'Gateway' tab in the TCP/IP properties dialog." | + | $MOD iptable_filter |
− | echo "5. Enter $(ifconfig ${SHARE_IF} | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}') as the default gateway." | + | $MOD iptable_nat |
+ | $MOD ip_conntrack | ||
+ | $MOD ipt_MASQUERADE | ||
+ | $MOD ip_nat_ftp | ||
+ | $MOD ip_nat_irc | ||
+ | $MOD ip_conntrack_ftp | ||
+ | $MOD ip_conntrack_irc | ||
+ | # Clean old rules if any, rhel specific but above will take care of everything | ||
+ | # service iptables stop | ||
+ | # unlimited traffic via loopback device | ||
+ | $IPT -A INPUT -i lo -j ACCEPT | ||
+ | $IPT -A OUTPUT -o lo -j ACCEPT | ||
+ | echo "Setting ${SHARE_IF} as router interface..." | ||
+ | $IPT --table nat --append POSTROUTING --out-interface ${SHARE_IF} -j MASQUERADE | ||
+ | # Start other custom rules | ||
+ | #$IPT | ||
+ | # End other custom rules | ||
+ | echo "*** Instructions on TCP/IP On The Windows / Mac / Linux Masqueraded Client ***" | ||
+ | echo "1. Login to your other LAN desktop computers" | ||
+ | echo "2. Open network configuration GUI tool such. Under Windows XP - Click Start, click Control Panel, click Network and Internet Connections, and then click Network Connections" | ||
+ | echo "3. Set DNS (NS1 and NS2) to 208.67.222.222 and 208.67.220.220" | ||
+ | echo "4. Select the 'Gateway' tab in the TCP/IP properties dialog." | ||
+ | echo "5. Enter $(ifconfig ${SHARE_IF} | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk '{ print $1}') as the default gateway." |